Commit graph

453 commits

Author SHA1 Message Date
Martin Gräßlin
c175e75939 ConstrainedStackingOrder() return ToplevelList 2012-04-20 08:36:23 +02:00
Thomas Lübking
ab86f0e837 add screen inversion through XF86VidModeSetGammaRamp or XRRSetCrtcGamma
use opengl invert effect as fallback

REVIEW: 104371
2012-04-17 21:11:03 +02:00
Thomas Lübking
7bdf96c2f3 export clientpopup mapping state and use it to skip mouse driven focus changes
BUG: 81743
FIXED-IN: 4.9
REVIEW: 104620
2012-04-17 21:08:35 +02:00
Martin Gräßlin
a0c6f70a0e Drop refresh method on D-Bus interface
The method is nowhere inside KWin called, nor used as a slot.
It's also not used from any of the KCMs and the method does not
do what the name says. It just shows and hides a window as big
as the screen geometry.

REVIEW: 104418
2012-04-01 08:11:54 +02:00
Martin Gräßlin
2fb8fb1c21 Introducing a build option for KActivities support
REVIEW: 104100
2012-03-30 09:13:46 +02:00
Martin Gräßlin
d4a919a9bf Demands Attention support for KWin Scripting
Client has a property for demands attention and Workspace
is emitting a signal whenever the demands attention state
of any Client changes.

REVIEW: 104204
2012-03-12 21:25:45 +01:00
Martin Gräßlin
214375f923 Query KWin for available debug output
This adds extensive support information about the running instance
by printing out all used options, the compositing information
including GL platform, loaded effects and active effects.

The debug output can be retrieved through D-Bus:

qdbus org.kde.kwin /KWin supportInformation

or through a KWin Script (use desktop console):

print(workspace.supportInformation())

REVIEW: 104142
2012-03-04 15:21:10 +01:00
Martin Gräßlin
6c225755fc Drop C++ based Desktop Change OSD
No longer needed as it has been replaced by a declarative script.
2012-03-02 09:10:10 +01:00
Thomas Lübking
b79a176be3 resolve merge conflicts 2012-02-21 19:22:08 +01:00
Thomas Lübking
7e7846adce Focus window under mouse after MouseLowerOp
BUG: 255052
REVIEW: 103975
2012-02-21 17:18:04 +01:00
Thomas Lübking
85635dd485 fix tabbing
BUG: 290959
BUG: 265160
BUG: 229292
BUG: 238279
BUG: 290758
BUG: 222831
BUG: 278275
BUG: 245747
BUG: 230000

BUG: 253697
BUG: 230570
BUG: 265977
BUG: 225337
BUG: 225339

REVIEW: 103855
2012-02-11 16:30:22 +01:00
Thomas Lübking
bf88ec09ac Revert "fix tabbing"
pushed out of branch, not master - leading to absent revision, found hash collision??

This reverts commit 94b2ad7b85801e37e2df4671cdc4f26b6d7e5506.
2012-02-11 16:29:14 +01:00
Thomas Lübking
d245035a17 fix tabbing
BUG: 290959
BUG: 265160
BUG: 229292
BUG: 238279
BUG: 290758
BUG: 222831
BUG: 278275
BUG: 245747
BUG: 230000

BUG: 253697
BUG: 230570
BUG: 265977
BUG: 225337
BUG: 225339

REVIEW: 103855
2012-02-11 16:01:41 +01:00
Thomas Lübking
48c28a9b3d add dbus debug "activeEffects"
REVIEW: 103572
CCBUG: 288948
CCBUG: 290025
(cherry picked from commit 089aeee91b807d13c0c2b86fa18d05776bef5190)
2012-01-02 18:57:44 +01:00
Thomas Lübking
5b40492a84 add support for graphicssystem selection
REVIEW: 103430
CCBUG: 289904
(cherry picked from commit ded4ed4e9dc32316c41a43b6e906bece4b92338f)
2012-01-02 18:56:21 +01:00
Thomas Lübking
3b2476850e add dbus debug "activeEffects"
REVIEW: 103572
CCBUG: 288948
CCBUG: 290025
2012-01-02 18:54:12 +01:00
Thomas Lübking
0b23c516a7 add support for graphicssystem selection
REVIEW: 103430
CCBUG: 289904
2012-01-02 18:53:20 +01:00
Martin Gräßlin
a3bed4b7ba Connect Kephal signals directly to screenChangedTimer
No need to have a slot for each screen change which only starts
the screenChangedTimer.
2011-12-31 15:01:41 +01:00
Christophe Giboudeaux
8426e13f3a Fix includes 2011-12-05 15:33:14 +01:00
Aaron Seigo
a7ed191184 Merge branch 'libkactivities'
Conflicts:
	kwin/CMakeLists.txt
	libs/kworkspace/CMakeLists.txt
	libs/kworkspace/kactivityconsumer.h
	libs/kworkspace/kactivitycontroller.h
	libs/kworkspace/kactivityinfo.h
	plasma/desktop/shell/activitymanager/activityicon.cpp
2011-12-05 00:33:25 +01:00
Anton Kreuzkamp
98c89bcfd0 Make the window-tabbing group of a window public via an XProperty. 2011-11-07 20:52:21 +01:00
Aaron Seigo
dde6a17a0f use libkactivities 2011-11-04 23:23:52 +01:00
Luboš Luňák
1030bcd7f3 keep windows inside workarea if they were there before workarea changes 2011-09-30 17:10:57 +02:00
Luboš Luňák
40744b6b11 use old screen sizes when calculating old window positions on screen size changes 2011-09-30 17:10:57 +02:00
Luboš Luňák
3bd58d49fa so much for copy&pasting a function name 2011-09-29 18:30:20 +02:00
Luboš Luňák
07e3dff871 make checkWorkspacePosition() work also on desktop/screen change
It previously worked only when struts changed, this makes it work
e.g. when moving a window between desktops that have different
struts, or when sending a windows between differently sized screens.
2011-09-29 18:30:20 +02:00
Martin Gräßlin
cdfd98e926 Drop the opacity menu in KWin useractions menu (Alt+F3)
See discussion on mailinglist:
http://lists.kde.org/?l=kwin&m=131368803718693&w=2

REVIEW: 102376
2011-08-29 06:59:40 +02:00
Martin Gräßlin
2f3c383ecd Add shortcuts to lower/raise opacity
REVIEW: 102374
2011-08-29 06:59:13 +02:00
Martin Gräßlin
6e15c0c208 Change timers to QElapsedTimers
Instead of calculating the elapsed time from epoch clock, using
a QElapsedTimer as well as reusing the timer object instead of
creating a new one in the scene each frame.

REVIEW: 102473
2011-08-29 06:48:44 +02:00
Thomas Lübking
a2d9ff72aa fix close button side for present windows effect
BUG: 262543

pint desktop as background when including desktop in switcher
BUG: 262137

zoom windows as hover/selection indicaton (1/8 of the screen or 105%)
BUG: 215348
CCBUG: 175521

no closer on "show desktop" desktop
show closer immediately but have it disabled for a short time to allow the user realize it

REVIEW: 101318
2011-08-09 22:57:54 +02:00
Arthur Arlt
1326316049 Introduce Build Option for Tiling
A build option is introduced to file CMakeLists.txt. Classes Tiling,
Tile and TilingLayouts are only built if the option is set to ON. #ifdef's
are added to the classes where functions of the excluded classes are called.
2011-07-28 13:39:21 +02:00
Arthur Arlt
3634525613 Refactoring Tiling
This initial commit introduces a new class Tiling. It is provided by
the files tiling/tiling.h and tiling/tiling.cpp. It covers all the
Tiling functionality which was provided by Workspace. In this initial
commit, all the functions were just moved and adjusted.
A  new member variable m_tiling is introduced to Workspace, which
makes the new class Tiling accessible from Workspace.
The Tiling pointer is created in the constructor and deleted in
the deconstructor. Also a getter method tiling() is provided.
All calls from other classes are updated to use the methods in class
Tiling now.
2011-07-28 12:35:51 +02:00
Alex Fiestas
fa199457af Try to call desktopRezie once intead of doing it in all XRandR events.
When a screen is disconnected XRandR emits 3 events instead of just one:
1-Disconnected screen resized
2-Disconnected screen moved
3-Disconnected screen removed

Before this commit we were calling desktopResize on each event which
between other things restart the composite (not necessarily the faster
thing to do...).

So, in order to be able to call desktopResize only once, now we're
handling individually each event, when one of them happens a QTimer is
started/restarted on each event and desktopResized is called owhen
QTimer.timeout

    The current interval is 100msec
2011-07-24 22:57:33 +02:00
Arthur Arlt
c1c883a8a7 Introduce new signal configChanged() to Workspace
To get rid of direct method calls and numerous #ifdefs a new signal
configChanged() is introduced to class Workspace. Every module
which is interested in reloading the configuration is needed to connect to
this signal.
Initially this is done for the reconfiguration of DesktopChangeOSD().
2011-07-15 22:05:38 +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
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
039c025bfb Add a build option for screen edge support 2011-07-07 18:29:11 +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
d1b5d00129 Refactoring TabBox
Move the funtionality of TabBox from class Workspace to class TabBox to make
it possible to deactivate this feature by setting a compile flag.
All methods and variables are now provided by class TabBox and calls from other
classes go directly to TabBox.
The code for configuring the shortcut keys has also been moved to class TabBox
from kwinbindings.cpp.
2011-07-05 10:59:53 +02:00
Arthur Arlt
5ead1d90a1 Remove screen edge handling methods from workspace
Since the newly introduced class ScreenEdge and its calls work fine,
the redundand methods from workspace are now removed.
2011-07-04 13:24:51 +02:00
Arthur Arlt
7533bfac75 Introduce member variable ScreenEdge to Workspace
This commit adds a new member variable m_screenEdge to Workspace. It is
initialized in the constructor and deleted in the deconstructor.
A getter is introduced as well.
2011-07-04 13:24:51 +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
e766fe0a82 Remove the compositing too slow checks
The heuristic never worked reliable.

REVIEW: 101750
2011-06-26 09:18:08 +02:00
Arthur Arlt
25654f25b8 Removing TopMenu
Since the funtionality of TopMenu did no longer work in KDE4 this feature was
removed from Workspace. Every reference to it was removed as well as commentaries
and documentation.

REVIEW: 101485
2011-06-24 12:27:56 +02:00
Martin Gräßlin
12d3b354fc Remove drawbound move/resize functionality
Drawbound was nowadays only used when compositing is disabled.
For the composited case, the drawbound was replaced by the resize
effect and in fact we should always just use the resize effect.

REVIEW: 101411
2011-06-23 12:15:54 +02:00
Martin Gräßlin
494edbe76f Remove Mouse Emulation from KWin
Mouse Emulation is provided in a better way by KAccess. This provides
a global systemsettings switch to enable mouse emulation instead of
a shortcut and Xkb to enable mouse control with keyboard instead of
sending out fake mouse events.

So no need for duplicated functionality in KWin.

REVIEW: 101406
2011-06-23 11:56:00 +02:00
Philipp Knechtges
2c0b0e9f18 Performance bugfix.
In case we use OpenGL compositing and KWin is started with the raster graphicssystem,
the decoration gets painted with the raster backend.
REVIEW: 101370
2011-05-18 21:27:11 +02:00
Martin Gräßlin
74accbd64a Remove obsoleted code
Should have been removed with 44b83f951aeb3221c43ef3356e46650248b673cd
2011-05-15 14:33:40 +02:00
Martin Gräßlin
f97c92fde9 KWin does not require a decoration plugin any more
With config option "NoPlugin" in group "Style" it is possible to
no request that KWin should be run without a decoration plugin.
This is a change for Plasma Active to properly support no decorations.

As well if a decoration plugin cannot be loaded, KWin will no longer
exit, but continue to run just without a decoration. As a nice
side-effect changes in Oxygen no longer destroy my kwin build ;-)

BUG: 224440
FIXED-IN: 4.7.0
CCMAIL: sebas@kde.org
2011-04-28 16:05:23 +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