Commit Graph

158 Commits (363452561334ed19233f49ab2f5d04e8cb9ed894)

Author SHA1 Message Date
Arthur Arlt 6db74c8d66 Original Tiling.cpp moved to directory tiling/ 2011-07-28 12:31:33 +02:00
Martin Gräßlin af27c83d0a Build an additional kwin_gles binary
KWin gets compiled twice if OpenGL ES is available
and a second binary is created. It is linked against
the GLES effects and kwinglesutils and does not link
against OpenGL. The normal OpenGL variant is still
the "kwin" binary.

This is an intermediate step till we have the scene
as a loadable plugin. Then we will determine whether
OpenGL ES is supported in an external application
and load it as a plugin, otherwise we load the
OpenGL/GLX scene as a plugin.

REVIEW: 101979
2011-07-27 18:34:32 +02:00
Aaron Seigo 7eb18d9fd5 turn the plasma active build on in kwin by default if building for non-desktop profiles 2011-07-25 19:07:54 +02:00
Arthur Arlt 7b86e7f1c3 Introduce a build option for DesktopChangeOSD
A build option is introduces whether the DesktopChangeOSD functionality
should be built or not. It is set to ON by default.
2011-07-15 21:58:30 +02:00
Martin Gräßlin f89ba7a382 Move tabbox.(h|cpp) to tabbox sub directory 2011-07-15 17:22:41 +02:00
Martin Gräßlin 32a82141f0 Adding a build option for KWin Scripting
It is possible that adding this build option broke the Scripting
component. This is something that should not happen. Unfortunately
by just ifdefing everything scripting related with scripting enabled
we have build errors. These are caused by the fact that the scripting
code includes e.g. client.h through "./../client.h". At one offending
place I changed that to "client.h", but there is also a client.h in
the scripting directory.

The includes and naming of the scripting files clearly have to be fixed!
2011-07-10 10:48:25 +02:00
Martin Gräßlin 062b117919 QtXML library only needed by tabbox 2011-07-10 10:02:46 +02:00
Arthur Arlt d8072be54d Move OverlayWindow from Workspace to its own class
All the functionality of Overlay Window is moved to its own class
OverlayWindow. It is created and owned by class Scene, since almost
all function calls are called from this class.

REVIEW: 101866
2011-07-09 19:08:48 +02:00
Martin Gräßlin 2d9e588051 Add build option to suppress building of XRender Compositing 2011-07-07 19:17:00 +02:00
Martin Gräßlin 039c025bfb Add a build option for screen edge support 2011-07-07 18:29:11 +02:00
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