Commit graph

111 commits

Author SHA1 Message Date
Thomas Lübking
17eb923f34 Fix regression igonring hiddenPreviews on stacking updates
BUG: 289945
REVIEW: 103687
2012-01-13 15:57:34 +01:00
Thomas Lübking
31f9533029 implement restack configure events, fix stackUnder when stacking up under a foreign client
BUG: 288721
REVIEW: 103387
2011-12-18 19:42:06 +01:00
Fredrik Höglund
9fa2feabc8 kwin: Insert an input-only window above each decorated client
This input-only window is used to capture events above the
client window and preventing them from reaching the client.

It is currently used to enlarge the borders by an invisible
amount, using the ExtendedBorderRegion provided by the
decoration.
2011-11-11 03:02:10 +01:00
Martin Gräßlin
039c025bfb Add a build option for screen edge support 2011-07-07 18:29:11 +02:00
Arthur Arlt
cc43928a97 Use QVector<Window> for screen edge windows instead of Window array
The code was updated to use a QVector for the screen edge windows instead of
an ordinary Window array. The getter method windows() was updated to return
now this QVector.
In the method propagateClients() in layers.cpp the newWindowStack QVector is
filled by iteration through the screen edge windows and only adding Windows that
are not None.
2011-07-04 13:24:51 +02:00
Arthur Arlt
6e7a249cd0 Rename functions in class ScreenEdge
Since the functions were moved from Workspace to its own class ScreenEdge
and the functionality was formerly called ElectricWindows, the functions still
had the old names. They are now consistenly renamed without redundand naming.
The function calls were updated as well in all classes where ScreenEdge is used.
2011-07-04 13:24:51 +02:00
Arthur Arlt
83e8f65679 Use new getter method screenEdgeWindows() in propagateClients()
Since the functionality of screen edge handling was moved to its own class,
the screen edge windows are now provided by the getter method screenEdgeWindows().
The new getter method screenEdgeWindows() returns a reference to a QVector,
which includes the screen edge windows.
The Workspace method propagateClients() implemented in layers.cpp needs these
screen edge windows to restack the windows. The code was also modified to use
QVector instead of a Window array.
2011-07-04 13:24:51 +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
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
0a7e48f7aa KWin uses kdelibs coding style. 2011-01-31 20:07:03 +01:00
Chani Armitage
d18e95f9a6 improve stack & focuschain activity checks
BUG: 262730

svn path=/trunk/KDE/kdebase/workspace/; revision=1214045
2011-01-12 18:08:59 +00:00
Thomas Lübking
647eaa8afb raise alt+tab selected window w/o compositing (requires highlight windows option to be checked)
unlink composited window highlighting from the tabbox
-> results in semi-legacy behaviour w/o activating the selected window

BUG: 227344

svn path=/trunk/KDE/kdebase/workspace/; revision=1186871
2010-10-17 19:49:07 +00:00
Martin Gräßlin
d76ef2b9cb Forward port rev 1179522:
Ensure electric borders are above effect input windows after blocking stacking order updates.
CCBUG: 200235

svn path=/trunk/KDE/kdebase/workspace/; revision=1179523
2010-09-25 18:51:18 +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
Thomas Lübking
2df71872a0 don't raise the whole group with a transient, but only its ancestors
BUG: 199910

svn path=/trunk/KDE/kdebase/workspace/; revision=1030954
2009-10-03 15:40:58 +00:00
Albert Astals Cid
43f2a84f4e leak--
CID: 6200

svn path=/trunk/KDE/kdebase/workspace/; revision=951662
2009-04-09 20:48:44 +00:00
Lucas Murray
81ffa5aec9 Raise electric border windows when an effect mouse input window is
created to allow effects to be toggled by active screen edges.

svn path=/trunk/KDE/kdebase/workspace/; revision=922121
2009-02-06 14:21:20 +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
Laurent Montel
5535a9de5e Fix iterator
svn path=/trunk/KDE/kdebase/workspace/; revision=883047
2008-11-11 23:09:11 +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
bd589d3adf Turn unredirect off when fullscreen is not on the active virtual desktop.
svn path=/trunk/KDE/kdebase/workspace/; revision=863950
2008-09-23 15:44:54 +00:00
Luboš Luňák
14ae8d2dc9 Support for unredirecting fullscreen windows, i.e. games etc. can paint directly
and not be slowed down by going through compositing. Turned on and no UI option
in the naive hope that it won't cause any real problems. Maybe effects doing
window previews should get API to suspend unredirect though.


svn path=/trunk/KDE/kdebase/workspace/; revision=851742
2008-08-24 13:32:57 +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
79bb84e119 Use KWin's internal stacking order for managed windows, not the X one.
Fixes composited drawing of windows on other desktops.
BUG: 161436


svn path=/trunk/KDE/kdebase/workspace/; revision=828060
2008-07-04 14:06:23 +00:00
Luboš Luňák
e99c489ffe Fix an off-by-one error when keeping windows above their mainwindow.
svn path=/trunk/KDE/kdebase/workspace/; revision=826818
2008-07-01 14:09:41 +00:00
Luboš Luňák
4851bff561 Fix memory leak.
svn path=/trunk/KDE/kdebase/workspace/; revision=804132
2008-05-05 07:22:45 +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
2ed7ffbac4 Off-by-one errors in stacking unmanaged windows.
svn path=/trunk/KDE/kdebase/workspace/; revision=800276
2008-04-23 20:10:35 +00:00
Luboš Luňák
9eec690d9e Redo how transients raise their mainwindows - simply raise everything
in the group, instead of trying to walk up the possibly complicated
parents tree.


svn path=/trunk/KDE/kdebase/workspace/; revision=788489
2008-03-21 17:12:21 +00:00
Luboš Luňák
10d3e03266 Re-add debug code that got lost somehow ... and make it kdDebug()
to avoid the huge waste of space.


svn path=/trunk/KDE/kdebase/workspace/; revision=788162
2008-03-20 21:58:00 +00:00
Luboš Luňák
039fdd6124 Fix fullscreen on youtube with latest flash. Requiring the fullscreen
window to be focusable is probably unnecessary and this was breaking
because of the skiptasbar flag.


svn path=/trunk/KDE/kdebase/workspace/; revision=763600
2008-01-19 21:26:47 +00:00
Luboš Luňák
01bf6cbb4c License cleanup - add headers where missing, be explicit about GPL
being v2+ (right now it says just GPL, which according to GPL itself
means any GPL). Decoration clients will come later.
CCMAIL: kwin@kde.org


svn path=/trunk/KDE/kdebase/workspace/; revision=742302
2007-11-27 19:40:25 +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
Laurent Montel
994c800d79 Adapt to new KWarning/kFatal/kDebug api
svn path=/trunk/KDE/kdebase/workspace/; revision=695877
2007-08-03 06:59:24 +00:00
Luboš Luňák
9052116e4f Support for having previews even for unmapped windows - they're
actually kept mapped, so that they still have the backing pixmap.
Plus some small tricks to prevent such windows from interfering.
Only two basic modes are implemented right now.


svn path=/trunk/KDE/kdebase/workspace/; revision=683156
2007-07-04 09:51:10 +00:00
Luboš Luňák
1040404a2a Track stacking order of unmanaged windows.
svn path=/trunk/KDE/kdebase/workspace/; revision=667686
2007-05-23 16:22:59 +00:00
Luboš Luňák
8c5d3af9d5 Merging from old trunk:
r605401 | lunakl | 2006-11-16 17:56:16 +0100 (Thu, 16 Nov 2006) | 7 lines

Fix finding the most recently raised window when updating mouse
grab for click raise (#137119).

And I think I'll have somewhen to fix all the tabs and other
horrible things porting has done to indentation.


svn path=/trunk/KDE/kdebase/workspace/; revision=659312
2007-04-29 22:39:07 +00:00
Luboš Luňák
b9ce4b2954 Merging from old trunk:
r603295 | lunakl | 2006-11-08 14:59:27 +0100 (Wed, 08 Nov 2006) | 6 lines

Ok, with a compositing manager running, VisibilityNotify no longer
considers windows not visible just because a window is above them,
so the code from r198017 no longer works.
(#128648)


svn path=/trunk/KDE/kdebase/workspace/; revision=659308
2007-04-29 22:37:19 +00:00
Luboš Luňák
bdabd3c2ee Merging from old trunk:
r603050 | lunakl | 2006-11-07 18:07:24 +0100 (Tue, 07 Nov 2006) | 4 lines

Fix stacking order and focus chain when opening links in background
in Konqueror.


svn path=/trunk/KDE/kdebase/workspace/; revision=659304
2007-04-29 22:34:35 +00:00
Luboš Luňák
f52b8e48cd branches/work/kwin_composite becomes new trunk kwin.
svn path=/trunk/KDE/kdebase/workspace/; revision=659202
2007-04-29 17:35:43 +00:00
Luboš Luňák
2b7e1f4993 Remove kwin, kwin_composite will become new trunk kwin, missing merges
from trunk will be merged in.


svn path=/trunk/KDE/kdebase/workspace/; revision=659200
2007-04-29 17:34:49 +00:00
Luboš Luňák
4319a1cc6b Fix stacking order of electric borders.
svn path=/branches/work/kwin_composite/; revision=654210
2007-04-15 13:28:19 +00:00
Luboš Luňák
2c928221a4 namespace KWinInternal -> KWin - shorter typing of names in gdb, yay
svn path=/trunk/KDE/kdebase/workspace/; revision=650773
2007-04-05 12:12:10 +00:00
Luboš Luňák
e3b865cd5f namespace KWinInternal -> KWin - shorter typing of names in gdb, yay
svn path=/branches/work/kwin_composite/; revision=650770
2007-04-05 12:07:35 +00:00
Luboš Luňák
35bbf89aed Add support for activating features using window borders/corners.
Enabled it for PresentWindowsEffect for now.


svn path=/branches/work/kwin_composite/; revision=650532
2007-04-04 19:08:03 +00:00
Luboš Luňák
d4a58f4152 QMap -> QHash
svn path=/branches/work/kwin_composite/; revision=642532
2007-03-14 16:50:19 +00:00
Luboš Luňák
5d4178c40c QMap -> QHash
svn path=/trunk/KDE/kdebase/workspace/; revision=642528
2007-03-14 16:39:50 +00:00
Luboš Luňák
4019dff500 Distinguish between damage and repaints - damage is when windows contents
change, repaint just triggers repaint of the area (without e.g. the texture
updating for OpenGL).
addDamage() -> addRepaint()
CCMAIL: kwin@kde.org


svn path=/branches/work/kwin_composite/; revision=632866
2007-02-12 15:22:43 +00:00