Commit graph

235 commits

Author SHA1 Message Date
Arthur Arlt
2f11337d98 Refactoring Screen Edge handling
This commit change the screen edge function calls to be called in the
new class ScreenEdge. The old methods are still in Workspace and will
be removed in a further commit.
2011-07-04 13:24:51 +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
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
Martin Gräßlin
026dd17d88 Repaint also old shadow region on geometry change 2011-04-04 18:50:30 +02:00
Martin Gräßlin
320de6abc6 Merge branch 'master' into oxygen-shadows
Conflicts:
	kwin/atoms.cpp
	kwin/atoms.h
2011-04-04 18:09:59 +02:00
Thomas Lübking
31278d570e add rule/property based composite blocking 2011-04-04 01:59:52 +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
b52975a57e Merge branch 'libkwineffects'
The branch contains the first step in reworking the kwineffects
library. This includes:
* replacing virtuals by signals and slots
* dropping some unused methods
* remove KWin::TimeLine

More to come.

Conflicts:
	kwin/workspace.cpp
2011-03-16 19:46:59 +01:00
Martin Gräßlin
640fdc7b6d PropertyNotify becomes a signal 2011-03-12 19:18:19 +01:00
Martin Gräßlin
911098ee76 WindowGeometryShapeChanged becomes a signal 2011-03-12 12:34:59 +01:00
Thomas Lübking
0b1599680d stage one, call martin 2011-03-08 22:05:09 +01:00
Martin Gräßlin
edd0950f96 WindowOpacityChanged becomes a signal 2011-03-06 10:30:23 +01:00
Martin Gräßlin
0a7e48f7aa KWin uses kdelibs coding style. 2011-01-31 20:07:03 +01:00
Thomas Lübking
c7a3a21116 support nvidias proprietary refreshrate through asking nvidia-settgins
svn path=/trunk/KDE/kdebase/workspace/; revision=1201396
2010-11-27 15:27:54 +00:00
Martin Gräßlin
0174887114 Extend quick tiling to quarter of screen.
When moving a window to the upper or lower quarter of a screen edge the window will be quick tiled to the responsible quarter of the screen.
Moving the window to the middle half of the screen will do the normal quicktiling to half of screen, quick maximization at top screen is unchanged.
Thanks to Arthur Arlt for his first code contribution to KDE.
See Review Request http://reviewboard.kde.org/r/5661
CCMAIL: arre2000@gmx.de

svn path=/trunk/KDE/kdebase/workspace/; revision=1190361
2010-10-27 13:16:36 +00:00
Chani Armitage
3c633a48ab Use an X property for activity associations
the new property name is "_KDE_NET_WM_ACTIVITIES", of type XA_STRING,
and it's a comma-separated list of activity UUIDs.

kwin should respond to other processes changing the activity list for a
window, and filter out any bogus IDs. It also caches KActivityController's
list of activities to prevent dbus deadlocks.

CCMAIL: plasma-devel@kde.org

svn path=/trunk/KDE/kdebase/workspace/; revision=1179043
2010-09-24 12:03:22 +00:00
Thomas Lübking
c62cbd5911 fix pending XSYNC requests, bugs partially closed due to suggested relation by the reporters
please re-open them if this does not fix it

BUG: 178269
BUG: 183263
BUG: 241094
BUG: 243094

svn path=/trunk/KDE/kdebase/workspace/; revision=1175748
2010-09-15 19:33:15 +00:00
Hugo Pereira Da Costa
1ef8be34a4 Properly account for decoration padding when calculating mousePosition in buttonReleaseEvent.
CCBUG: 231844

svn path=/trunk/KDE/kdebase/workspace/; revision=1108849
2010-03-29 22:09:53 +00:00
Hugo Pereira Da Costa
6fe694c38f Properly account for decoration padding when calculating mousePosition in window, needed to
decide cursor shape.
BUG: 231844

svn path=/trunk/KDE/kdebase/workspace/; revision=1108844
2010-03-29 21:57:05 +00:00
Lucas Murray
51168e97a4 Keep the logout effect active until KWin is killed or the user cancels
the logout by using new information provided by KSMServer; Allow effects
to read and detect root window property notify events.

svn path=/trunk/KDE/kdebase/workspace/; revision=1083335
2010-02-01 07:44:27 +00:00
Lucas Murray
b90acadcc9 Don't allow quick tiling for windows that cannot be resized.
svn path=/trunk/KDE/kdebase/workspace/; revision=1072080
2010-01-09 11:48:54 +00:00
Lucas Murray
c8e9de08f6 Make quick maximize activation zone smaller to prevent accidental
activations.

svn path=/trunk/KDE/kdebase/workspace/; revision=1072075
2010-01-09 11:41:52 +00:00
Lucas Murray
41e5bfd793 Change how quick tiling and maximization is activated slightly. Instead
of using electric borders just check the location of the cursor; if the
cursor is near the edge enable the resize snap. This makes the features
easier to activate, removes the conflict with desktop switching and
allows the features to be used completely on multi-screen systems.
Patch inspired by one from Marcel Schaal.
BUG: 218957

svn path=/trunk/KDE/kdebase/workspace/; revision=1071996
2010-01-09 09:49:52 +00:00
Fredrik Höglund
0a8c06b054 Implement support for _KDE_NET_WM_FRAME_OVERLAP.
svn path=/trunk/KDE/kdebase/workspace/; revision=1054393
2009-11-25 23:32:35 +00:00
Lucas Murray
00e131a1a5 Allow window tabbing titlebar actions to be configurable; Set default
middle-click titlebar action to tab drag; Fix KCM config file corruption
caused by r1015273.
BUG: 214898

svn path=/trunk/KDE/kdebase/workspace/; revision=1050309
2009-11-17 07:17:49 +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
Robin Harold Burchell
f585e4e1d9 A number of small warning fixes (bracketing, etc) to help pick up real problems when working.
svn path=/trunk/KDE/kdebase/workspace/; revision=1022531
2009-09-11 23:44:29 +00:00
A. Lynn Spehr
72521c5691 This somehow escaped being included in r964140...
CCBUG:164261

svn path=/trunk/KDE/kdebase/workspace/; revision=965103
2009-05-07 23:24:20 +00:00
Fredrik Höglund
8bba7aed7d Make it possible for the decorations to paint outside the window frame
when compositing is enabled, by letting them add additional padding
to the sides of the frame.

svn path=/trunk/KDE/kdebase/workspace/; revision=963586
2009-05-04 22:35:33 +00:00
Fredrik Höglund
43856dc300 Fix a coding style issue.
svn path=/trunk/KDE/kdebase/workspace/; revision=957672
2009-04-22 17:22:40 +00:00
Urs Wolfer
63a77d245b SVN_SILENT
revert unwanted change from r926381

svn path=/trunk/KDE/kdebase/workspace/; revision=926383
2009-02-15 10:07:41 +00:00
Urs Wolfer
5ef15617d1 * KDE4_KDE3SUPPORT_LIBS--
* warnings--

svn path=/trunk/KDE/kdebase/workspace/; revision=926381
2009-02-15 10:04:01 +00:00
Luboš Luňák
b50a8d352a Compress possible several reasons for resetting compositing.
svn path=/trunk/KDE/kdebase/workspace/; revision=923836
2009-02-09 14:37:07 +00:00
Luboš Luňák
4d82d2291e Don't needlessly setup compositing twice during startup.
Xrandr seems to like to send events about "changes" right
after application startup.


svn path=/trunk/KDE/kdebase/workspace/; revision=923829
2009-02-09 14:31:42 +00:00
Frederik Schwarzer
a604e4a60d global typo fix
svn path=/trunk/KDE/kdebase/workspace/; revision=922431
2009-02-07 01:12:28 +00:00
Lucas Murray
d5a630cabd When window shade hovering is enabled do not immediately shade the
window once the cursor leaves the window, instead wait a little while.
Patch by Marcel Partap.
BUG: 81085

svn path=/trunk/KDE/kdebase/workspace/; revision=897056
2008-12-15 08:27:17 +00:00
Lucas Murray
6d41a1320e Moved all debug, warning and error messages into the KWin 1212 area.
Replaced deprecated kdDebug() with kDebug().
Removed empty debug messages.

svn path=/trunk/KDE/kdebase/workspace/; revision=885620
2008-11-17 15:04:52 +00:00
Jason vanRijn Kasper
fb0a01228f This change allows KWin to use the new NETWinInfo2 class (binary
compatibility class) and subsequently properly handle the
_NET_WM_FULLSCREEN_MONITORS EWMH spec hint.

svn path=/trunk/KDE/kdebase/workspace/; revision=885362
2008-11-17 08:03:39 +00:00
Luboš Luňák
b93766efc8 Make the cached stacking order invalid right after sending X command for changing it,
in case the new stacking order is needed before kwin gets the matching event,
due to X being asynchronous.
BUG: 171033


svn path=/trunk/KDE/kdebase/workspace/; revision=866605
2008-10-01 12:49:52 +00:00
Luboš Luňák
6c04eb4a6a When window shape changes, also cause a workspace repaint, just in case
the change removes part of a window. Also, window repaint is enough,
no need to damage the window contents.


svn path=/trunk/KDE/kdebase/workspace/; revision=866350
2008-09-30 16:45:24 +00:00
Luboš Luňák
c6230db535 Stop the compositing timer when idle.
FEATURE: 155694


svn path=/trunk/KDE/kdebase/workspace/; revision=854913
2008-08-30 15:28:47 +00:00
Luboš Luňák
09d81b7e87 Cache the result of XQueryTree().
svn path=/trunk/KDE/kdebase/workspace/; revision=851667
2008-08-24 10:35:45 +00:00
Luboš Luňák
818070d3aa Keep fullscreen windows covering the whole screen when it is the topmost
window on its xinerama screen.
FEATURE: 126817


svn path=/trunk/KDE/kdebase/workspace/; revision=851204
2008-08-23 09:20:42 +00:00
Luboš Luňák
63b01aff5d Rework handling of mapping and unmapping windows, in particular:
- the NormalState/IconicState things in ICCCM need to match exactly
  the real mapping state, so ensure that, no matter how superfluous that is
- extend the option for having live window previews either for all
  windows or for only all shown windows (default)
FEATURE: 163385


svn path=/trunk/KDE/kdebase/workspace/; revision=845772
2008-08-12 11:02:58 +00:00
Luboš Luňák
43d5a25d39 Don't activate inactive windows on wheeling over them.
BUG: 161174


svn path=/trunk/KDE/kdebase/workspace/; revision=817599
2008-06-06 11:40:38 +00:00
Luboš Luňák
2f8d2751a1 Fix handling of stacking order of unmanaged windows. Could maybe use a little
bit more of optimization.
BUG: 157878


svn path=/trunk/KDE/kdebase/workspace/; revision=800581
2008-04-24 12:53:03 +00:00
Luboš Luňák
fb7f6b67e1 Discard window pixmap only if the window actually resizes.
svn path=/trunk/KDE/kdebase/workspace/; revision=787945
2008-03-20 09:58:46 +00:00
Luboš Luňák
cda4477458 Add a hack that somewhat improves screen repaint after X session
switch with drivers that have a problem with this.
CCBUG: 154825


svn path=/trunk/KDE/kdebase/workspace/; revision=783860
2008-03-09 20:06:11 +00:00
Luboš Luňák
cd8e69aff3 Add break.
svn path=/trunk/KDE/kdebase/workspace/; revision=764703
2008-01-22 11:39:31 +00:00
Luboš Luňák
b053544c72 Trigger full repaint after configuration change and after switching to X,
just in case.
BUG: 154825


svn path=/trunk/KDE/kdebase/workspace/; revision=761857
2008-01-15 13:06:26 +00:00