Commit graph

148 commits

Author SHA1 Message Date
Martin Gräßlin
f1e23b100c New build option KWIN_PLASMA_ACTIVE
This build option can be used to simplify the build settings for
the usage of KWin in Plasma Active. It includes:
* no decorations
* no kcms
* no tabbox
* only mobile effects
* turns on OpenGL ES (if available)

CCMAIL: sebas@kde.org
2011-07-06 17:53:33 +02:00
Martin Gräßlin
399da3ee92 Move kwin build options to top of CMakeLists.txt 2011-07-06 17:52:59 +02:00
Arthur Arlt
903bcb42fb Provide build option for TabBox functionality
Since the TabBox functionality is not feasible for any platform KWin is
used on (e.g. tablet PCs), a build option is added to decide, if the
TabBox functionality should be build or not.

REVIEW: 101511

@Sebastian: Martin wanted me to let you know that it is now possible
to disable building Tabbox
CCMAIL: sebas@kde.org
2011-07-05 11:00:23 +02:00
Arthur Arlt
55cbff052f Refactor Screen Edge Handling
This initial commit introduces a two new files screenedge.h and screenedge.cpp which cover a new
class ScreenEdge. The code for screen edge handling was copied from Workspace to this class.
Workspace had to be extended by a getter for movingWindow. CMakeList was updated to build the
new class.
2011-07-04 13:24:51 +02:00
Martin Gräßlin
55bcd2ed10 Add new build option KWIN_MOBILE_EFFECTS
The new build option restricts the building of effects to those
useable for Plasma Active:
* blur
* dialogparent
* fade
* login
* outline
* presentwindows
* slidingpopups
* taskbarthumbnails
* screenshot

Additionally all effect KCMs are excluded from building in the
assumption that when building with this option, KWIN_BUILD_KCMS
is turned off.
CCMAIL: sebas@kde.org
2011-05-10 18:28:53 +02:00
Martin Gräßlin
2e7116f126 Build option to enable building of KCMs
New build option KWIN_BUILD_KCMS to control whether to build
all KWin kcms or not. By default kcms are built.
CCMAIL: sebas@kde.org
2011-05-01 13:27:13 +02:00
Christoph Feck
24b9a8c9db Move decoration option
It is needed in the config_kwin.h file, so it must be declared before.
2011-04-29 15:33:52 +02:00
Martin Gräßlin
ecf9d6e989 Conditionally build all window decorations
Adding a new CMake option KWIN_BUILD_DECORATIONS to conditionally
build all window decorations. By default build is enabled.
CCMAIL: sebas@kde.org
2011-04-28 16:18:15 +02:00
Martin Gräßlin
ff3900d825 Refactor KWin Outline code into an own class
This change unduplicates some code and merges it into one class
allowing us to use an replacement effect for the outline in
future.
CCMAIL: a.arlt@stud.uni-heidelberg.de
REVIEW: 100848
2011-04-28 11:19:05 +02:00
Martin Gräßlin
12220a0d59 Initial implementation of new Shadows in KWin
For a complete documentation of new functionality refer to:
http://community.kde.org/KWin/Shadow

The current implementation includes a new Shadow class and Toplevel
holds a pointer to an instance of this class. The Shadow class reads
the data from the X11 Property. There is one extended class located
in SceneOpenGL to render the shadow.

Compositor is adjusted to include the shadow region into the painting
passes.

Implementation for XRender still missing and Shadow needs to respond
to size changes of the Toplevel to update cached shadow region and
WindowQuads.
2011-03-27 12:33:07 +02:00
Martin Gräßlin
57d11c134a Move kwineffects library into own directory
Second part of cleaning up the lib directory: the effects library
now lives in libkwineffects/ directory.

For existing effects nothing changes as the install path is unchanged.
The change obsoletes the lib/ directory.

As glplatform.h has not yet been exported I dared to export it and
adjust the places where it is used.
CCMAIL: kwin@kde.org
2011-02-19 10:01:31 +01:00
Martin Gräßlin
fa5ab21002 Move kdecorations library into an own subdirectory
The KDecoration library lives in libkdecorations/ now.

Installation pathes are unchanged, so this does not influence 3rd party
decorations.

The changes in the KWin main directory are required due to incorrect
includes.
CCMAIL: kwin@kde.org
2011-02-19 10:01:31 +01:00
Martin Gräßlin
979490c134 Adding an option to enable building for mobile.
Needs a change to workspace CMakeLists.txt
2011-01-30 14:11:58 +01:00
Martin Gräßlin
d31c00ed0e Better CMake detection for building ES or desktop 2011-01-30 14:11:58 +01:00
Martin Gräßlin
ae81f23fbc Building effects on ES.
Only effects using OpenGL are excluded
2011-01-30 14:11:57 +01:00
Martin Gräßlin
aef6208fdc Fix compiling 2011-01-30 14:11:57 +01:00
Martin Gräßlin
8d7a861928 Fix build system for ES 2011-01-30 14:11:57 +01:00
Martin Gräßlin
1947f67e80 Temporarily disable building of effects in ES mode 2011-01-30 14:11:56 +01:00
Martin Gräßlin
8f2f126c31 CMake check to find OpenGLES 2011-01-30 14:11:55 +01:00
Luboš Luňák
1bee9e378f use NAMELINK_SKIP for libkwinnvidiahack, it is not meant as a development
library


svn path=/trunk/KDE/kdebase/workspace/; revision=1181585
2010-10-01 12:36:28 +00:00
Rohan Ramdas Prabhu
2aec750ebf Trembles the weave as the clock ticks, attain another microstate.
Every disorder causes every duration, which ensures the one that stays.
reality is relative. natural is disorder.
[R]obinhood[P]andey

Merging scripting from
^/branches/work/kwin_scripting TO
^/trunk

svn path=/trunk/KDE/kdebase/workspace/; revision=1177865
2010-09-21 14:31:40 +00:00
Luboš Luňák
fd0a31c3bf suspend ksmserver's startup during kwin's startup too,
just in case, to make sure kwin is really ready before other
desktop components


svn path=/trunk/KDE/kdebase/workspace/; revision=1137061
2010-06-11 14:26:41 +00:00
Martin Gräßlin
191435d425 Move Lanczos filter from taskbarthumbnail effect into the scene and use it also in boxswitch, presentwindows and thumbnailaside effects.
svn path=/trunk/KDE/kdebase/workspace/; revision=1133901
2010-06-02 20:04:54 +00:00
Rohan Ramdas Prabhu
4f10c8fc39 Accidentally broke tunk in my previous commit. I was supposed to commit
to a branch, but instead committed to the trunk. Well, the trunk was
broken because not all files were committed and hence anyone who checked
out of the trunk during this time could not have built kwin.

From what I can gather, the trunk has been broken for around 45 minutes
now. I didn't realize all that while that the trunk was broken. I
apologize for the inconvinience and I deeply regret my actions which
were clearly not well-thought.

Sorry,
Rohan


svn path=/trunk/KDE/kdebase/workspace/; revision=1133013
2010-05-31 22:18:41 +00:00
Rohan Ramdas Prabhu
d8daff5162 In this commit, the following files are updated:
main.cpp : Added a command argument. If 'stest' is set, then a testing
environment is setup which is used to test scripting for kwin.
Currently, the test setup only consists of loading a default script, but
in the feature it is expected to run a small text editor kind of thing
for testing.
       Usage:
         kwin --stest

CMakeLists.txt : Add the files corresponding to kwin_scripting the main
intention of which is to provide scripting support for kwin.

kwintabbox.desktop : An unintentional edit. Mostly harmless.


svn path=/trunk/KDE/kdebase/workspace/; revision=1133002
2010-05-31 21:24:40 +00:00
Chani Armitage
f26519c8d0 sorry, that wasn't supposed to go in.
svn path=/trunk/KDE/kdebase/workspace/; revision=1126335
2010-05-13 17:59:34 +00:00
Chani Armitage
30313d2869 take advantage of the cached currentActivity
svn path=/trunk/KDE/kdebase/workspace/; revision=1126054
2010-05-13 03:10:31 +00:00
Chani Armitage
a9ad071575 Activity association for windows.
ok'd by fredrikh.
this code is buggy right now, but I promise to squash the bugs by the 19th :)


svn path=/trunk/KDE/kdebase/workspace/; revision=1125614
2010-05-11 20:30:20 +00:00
Christoph Feck
03f5e6f019 SVN_SILENT cmakelint
svn path=/trunk/KDE/kdebase/workspace/; revision=1118678
2010-04-25 16:51:33 +00:00
Nikhil Marathe
5fc7e93d69 Tiling is here!
This commit merges the kwin-tiling branch. Ideally it shouldn't break anything and add a few features ;-)
It was applied as a patch. Do not attempt to merge the branch directly, it has a few issues.
This feature is currently experimental, although it hasn't crashed in quite a long time. It lacks some features and probably leaks some memory. Fixes will be on the way.

Season Of KDE 2009 project by Nikhil Marathe

svn path=/trunk/KDE/kdebase/workspace/; revision=1118677
2010-04-25 16:43:14 +00:00
Benjamin Reed
dc233bdcd5 merge 1099530 from 4.4: add some missing include_directories
svn path=/trunk/KDE/kdebase/workspace/; revision=1099533
2010-03-05 18:30:04 +00:00
Fredrik Höglund
bcd8d3f476 - Add an external helper program that initializes GLX and checks if kwin can
use direct rendering.
- Move the LIBGL_ALWAYS_INDIRECT code to CompositingPrefs::detect(), and use
  the external helper program to determine if the variable needs to be set.

svn path=/trunk/KDE/kdebase/workspace/; revision=1096554
2010-02-26 20:47:00 +00:00
Lucas Murray
a0d07d12a2 Merged r970865:1049322 from /branches/work/kwin-tabbing
Adds window tabbing support to KWin.
FEATURE: 42023

svn path=/trunk/KDE/kdebase/workspace/; revision=1049334
2009-11-15 03:24:04 +00:00
Martin Gräßlin
76f17e6de1 Here comes the new TabBox. It is a complete rewrite using a MVC approach. Here some highlights:
* Models and Delegates for Clients and Desktops
 * Horizontal, vertical and tabular layout
 * Layout of one item can be configured by an XML definition
 * A desktop item can include a client list
 * An optional second list view showing only the selected item
 * A new KCM "kwintabbox"
 * An alternative TabBox with independent settings and keybindings
 * Optional Highlight Windows effect integration
 * List scrolls instead of removing items
 * Scroll wheel support
 * Cursor key support
 * Middle click on item closes window
BUG: 195745
BUG: 197187
BUG: 201103
FEATURE: 118184
FEATURE: 156723
FEATURE: 177441
FEATURE: 182897
FEATURE: 193882
GUI:

svn path=/trunk/KDE/kdebase/workspace/; revision=1022861
2009-09-13 11:36:45 +00:00
Fredrik Höglund
e92aab0518 Implement initial support for ARGB window decorations.
Based on earlier work done by Lubos Lunak and ideas by Lucas Murray.

svn path=/trunk/KDE/kdebase/workspace/; revision=957680
2009-04-22 17:29:56 +00:00
Martin Gräßlin
3d5ad590e2 New on-screen-display for desktop change. It highlights the new desktop and shows arrows from the old to the new desktop. It replaces the popupinfo which only showed the desktop name. Nevertheless keeping popupinfo in svn so if wanted we can add an option to select between osd and popupinfo.
FEATURE: 185799

svn path=/trunk/KDE/kdebase/workspace/; revision=950182
2009-04-06 16:09:34 +00:00
Martin Gräßlin
d8f8cca5c8 Tabbox uses Plasma theme. That is the background is painted using the dialog background and selected item uses the focus background of task applet. Additional a smaller font is used and text is aligned to bottom instead of center. Thanks to Nuno for going through the design steps.
svn path=/trunk/KDE/kdebase/workspace/; revision=934532
2009-03-03 11:45:39 +00:00
Lucas Murray
4681129e4b Move desktop layout code into a separate file and class. This will allow
adding more complex desktop layout features (Such as desktop
rearranging, and non-rectangular layouts) easier in the future.
Workspace::calcDesktopLayout() has been deprecated.

svn path=/trunk/KDE/kdebase/workspace/; revision=925812
2009-02-14 09:46:12 +00:00
Andreas Pakulat
001ad181d0 Link against kephal as its beeing used now in kwin.
svn path=/trunk/KDE/kdebase/workspace/; revision=885619
2008-11-17 15:02:28 +00:00
Pino Toscano
9064682be8 correct find the kephal include dir when compiling "workspace" alone
svn path=/trunk/KDE/kdebase/workspace/; revision=884624
2008-11-15 15:31:07 +00:00
Tim Beaulen
aecb24a89d And another one where kwin didn't find kephal/screens.h
svn path=/trunk/KDE/kdebase/workspace/; revision=884617
2008-11-15 15:13:33 +00:00
Allen Winter
b703dc91a5 make the macro_log_message for compositing a little nicer
svn path=/trunk/KDE/kdebase/workspace/; revision=821279
2008-06-17 00:43:34 +00:00
Luboš Luňák
4fc3d50790 Properly #ifdef OpenGL-only and XRender-only stuff.
svn path=/trunk/KDE/kdebase/workspace/; revision=817585
2008-06-06 11:07:15 +00:00
Alexander Neundorf
84664f2ba6 cosmetics: lowercasing, no tabs, indentation, etc.
Alex



svn path=/trunk/KDE/kdebase/workspace/; revision=801170
2008-04-25 20:37:59 +00:00
Laurent Montel
778c869e40 Commit patch from Alex
(He didn't have time to make it yesterday and will able to commit it next thursday)
This patch clean up some :
target_link_libraries(kfoo kdeinit_kfoo) which is already done in kde4_add_kdeinit_executable()
macro 	and use "INSTALL_TARGETS_DEFAULT_ARGS" in other place.
I tested all compile file, all works fine but if there is a pb send me a mail.

CCMAIL: neundorf@kde.org 

svn path=/trunk/KDE/kdebase/workspace/; revision=795711
2008-04-11 06:52:03 +00:00
Christian Ehrlicher
d91c540b61 LIB_INSTALL_DIR -> INSTALL_TARGETS_DEFAULT_ARGS
svn path=/trunk/KDE/kdebase/workspace/; revision=792590
2008-04-01 16:42:27 +00:00
Luboš Luňák
e173b1c8d3 Make the cmake feature message match too.
svn path=/trunk/KDE/kdebase/workspace/; revision=756686
2008-01-03 15:32:37 +00:00
Luboš Luňák
f97bd45da9 Redo checks for KWIN_HAVE(_XXX)_COMPOSITING again, in order
to have it the same also in makefiles.


svn path=/trunk/KDE/kdebase/workspace/; revision=756678
2008-01-03 15:22:19 +00:00
Luboš Luňák
bb97953656 Hacks for specific driver systems:
- setting LIBGL_ALWAYS_INDIRECT=1, as that seems to be required for texture_from_pixmap
    to work with AIGLX
- setting __GL_YIELD=NOTHING to noticeably improve smoothness with nVidia


svn path=/trunk/KDE/kdebase/workspace/; revision=749631
2007-12-17 14:19:41 +00:00
Luboš Luňák
d6b7ef180d No kde3/qt3 support in kwin core. Saves about 150M of memory in gdb
by not loading the support libraries and the complete kdelibs stack it depends
on. Gdb taking 0.5M and lousy handling of near-OOM in Linux kernel
can be a pretty bad combination :(.


svn path=/trunk/KDE/kdebase/workspace/; revision=741856
2007-11-26 15:42:44 +00:00