Commit graph

354 commits

Author SHA1 Message Date
André Wöbbeking
ab85881232 error: ISO C++ forbids variable length array
use QVarLengthArray instead

svn path=/trunk/KDE/kdebase/workspace/; revision=1069536
2010-01-03 17:26:27 +00:00
Lucas Murray
187d26a641 If both quick maximization and "allow moving and resizing of maximized
windows" are enabled then don't instantly restore maximized windows when
they are dragged.
BUG: 219952

svn path=/trunk/KDE/kdebase/workspace/; revision=1065887
2009-12-24 16:30:07 +00:00
Lucas Murray
ae3ef3f765 Allow the quick tiling keyboard shortcuts to move the window between
Xinerama screens.

svn path=/trunk/KDE/kdebase/workspace/; revision=1065319
2009-12-23 01:36:44 +00:00
Thomas Lübking
d92c427d36 avoid "deep" QVector copy
CCBUG: 217040

svn path=/trunk/KDE/kdebase/workspace/; revision=1064056
2009-12-20 01:49:39 +00:00
Lucas Murray
efb6055fc0 Fix window snapping.
svn path=/trunk/KDE/kdebase/workspace/; revision=1049888
2009-11-16 02:42:12 +00:00
Lucas Murray
e0bee92151 Update the window group's min/max size when the hint on any window in
the group changes.
BUG: 214673

svn path=/trunk/KDE/kdebase/workspace/; revision=1049636
2009-11-15 15:48:59 +00:00
Lucas Murray
5e93336473 Resize other windows in the group when a grouped window is resized by
the application.
CCBUG: 214673

svn path=/trunk/KDE/kdebase/workspace/; revision=1049618
2009-11-15 15:08:15 +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
77f0f0eaca Adding the missing pieces for a nice and fast letterbox resizing as a replacement for the drawbound resizing.
Perhaps we should not display the totally ugly drawbound when we have an active resize effect.
CCBUG: 208770
CCBUG: 152638

svn path=/trunk/KDE/kdebase/workspace/; revision=1042711
2009-10-30 14:22:33 +00:00
Lucas Murray
8a8428e41c Less Krazy warnings please.
svn path=/trunk/KDE/kdebase/workspace/; revision=1042572
2009-10-30 06:51:59 +00:00
Marco Martin
36b39da955 respect the no border hint for windows that aren't maximized in case of
borderlessMaximizedWindows()

svn path=/trunk/KDE/kdebase/workspace/; revision=1035170
2009-10-14 13:07:31 +00:00
Lucas Murray
65e8bea70d Make quick maximization and tiling more intuitive by handling resize and
move operations in a logical fashion when a window is in the maximized
or tiled state.

svn path=/trunk/KDE/kdebase/workspace/; revision=1035021
2009-10-14 09:33:00 +00:00
Lucas Murray
e5d176b90b Fix quick tiling/maximize so other screen edge actions assigned to the
same edges work again.

svn path=/trunk/KDE/kdebase/workspace/; revision=1031990
2009-10-06 15:52:08 +00:00
Lucas Murray
d171c594ff Cancel a quick tile/maximize action if the user moves the window back
away from the edge of the screen without releasing the mouse button.

svn path=/trunk/KDE/kdebase/workspace/; revision=1031967
2009-10-06 14:56:10 +00:00
Lucas Murray
20f1a79d04 Less warnings please.
svn path=/trunk/KDE/kdebase/workspace/; revision=1031490
2009-10-05 09:47:13 +00:00
Lucas Murray
ca9df8caae Add window snapping to the desktop grid effect.
Patch by Caio Marcelo de Oliveira Filho.
FEATURE: 188743

svn path=/trunk/KDE/kdebase/workspace/; revision=1031428
2009-10-05 04:06:20 +00:00
Lucas Murray
52653a13b4 Don't send sync requests when using the rubber band for window resizing.
BUG: 181800
CCBUG: 183263

svn path=/trunk/KDE/kdebase/workspace/; revision=1030921
2009-10-03 14:07:49 +00:00
Lucas Murray
39a68673a4 Use correct fullscreen geometry when moving fullscreen windows across
Xinerama screens.
BUG: 188827

svn path=/trunk/KDE/kdebase/workspace/; revision=1030845
2009-10-03 10:00:31 +00:00
Lucas Murray
b4938657b8 Prevent KWin from sending out multiple sync requests before the client
has time to reply.
BUG: 183263

svn path=/trunk/KDE/kdebase/workspace/; revision=1030473
2009-10-02 10:50:13 +00:00
Marco Martin
154b0296a2 add a new (hidden for now) option: hide (and delete) the window borders
when the window is maximized, restoring them wen it's unmaximized. will
be used for small screen setups


svn path=/trunk/KDE/kdebase/workspace/; revision=1025694
2009-09-19 12:48:28 +00:00
Lucas Murray
b21b7cbb98 Fix quick tiling and maximization on multi-screen systems.
svn path=/trunk/KDE/kdebase/workspace/; revision=1024688
2009-09-17 08:11:01 +00:00
Robin Harold Burchell
102ec081e2 Extend on the quicktiling(/snap) work by mgraesslin in r1021305:
- Add hotkeys for snap left/snap right, kwin won't need a seperate hotkey for snap up, as maximize will do that job for us, and it already has a hotkey
 - Add geometry restoring to quick tile, meaning that windows can be moved back to their original state after a tile, useful if just looking at something quickly.

Thanks to mgraesslin for review and lots of mentoring.

svn path=/trunk/KDE/kdebase/workspace/; revision=1022987
2009-09-13 17:09:44 +00:00
Martin Gräßlin
9e3484e2f0 Adding new option to disable the legacy fullscreen mode (borderless, not netwm compliant windows with screen geometry).
It is disabled by default, but if it causes problems we will enable it again. In that case the "3rd party" (netbook shell) should set the option.
BUG: 206789
CC-MAIL: notmart@gmail.com

svn path=/trunk/KDE/kdebase/workspace/; revision=1021309
2009-09-08 20:19:20 +00:00
Martin Gräßlin
754f5d0829 Quick maximize and tiling when moving a window to the left/right or top screen edge.
Top screen edge (un)maximizes. Left screen edge sets window to left half of screen geometry, right edge to other half.

svn path=/trunk/KDE/kdebase/workspace/; revision=1021305
2009-09-08 20:01:08 +00:00
Lucas Murray
9842c3247e Obey window size hints when doing unrestricted resizes.
BUG: 196326

svn path=/trunk/KDE/kdebase/workspace/; revision=987516
2009-06-26 09:06:48 +00:00
Fredrik Höglund
a088f660a5 Make sure that the repainted area includes the whole decoration when
a window is moved or resized.

svn path=/trunk/KDE/kdebase/workspace/; revision=963609
2009-05-04 23:19:42 +00:00
Martin Gräßlin
91f0305942 Use foreach loop instead of iterator based for loop when walking through stacking_order in cascade desktop. It seems that stacking order is changed which is causing a crash with the iterator based version.
BUG: 190903

svn path=/trunk/KDE/kdebase/workspace/; revision=960527
2009-04-28 15:26:02 +00:00
Lucas Murray
c21bed5890 Allow moving and resizing above the top of the screen again when doing
an unrestricted move or resize.

svn path=/trunk/KDE/kdebase/workspace/; revision=940697
2009-03-18 02:34:07 +00:00
Toby Dickenson
0c166b6ecb call the windowUserMovedResized hook for maximize/restore. That method has two boolean parameters which indicate whether this is the first move in a sequence, and the last. For maximize/restore we set both to true, and several effects need tweaking to handle this case. Also include an addition to the wobbly windows effect to include a slight 'throb' when maximized/restored. This makes it easier for your eye to track where your de-maxized window went to. FEATURE 185014
svn path=/trunk/KDE/kdebase/workspace/; revision=934346
2009-03-02 20:18:35 +00:00
Lucas Murray
21f023ee77 Revert r925355, r925357 and r925358 as the crashing was caused by
Kephal and has since been fixed.

svn path=/trunk/KDE/kdebase/workspace/; revision=927675
2009-02-18 04:05:37 +00:00
Lucas Murray
ca901dae30 Improved window movement around struts. Windows can be moved anywhere
where the titlebar is still clickable even if it is outside the normal
work area. When struts are added or removed only move the windows that
cover the same area, leave all others untouched. If a strut is removed
on a xinerama screen that is not on the edge of the full desktop area
prevent the windows from being moved offscreen. Prevent struts/panels
from interfering with the movement of windows on other xinerama screens.
BUG: 74559
BUG: 90833
BUG: 160068

svn path=/trunk/KDE/kdebase/workspace/; revision=927466
2009-02-17 15:50:00 +00:00
Lucas Murray
0d6f29c18d Ignore struts half-way up the screen when calculating the available work
area. Fixes placement and resizing of windows on the larger monitor of a
xinerama setup where each monitor has a different resolution.
BUG: 184348

svn path=/trunk/KDE/kdebase/workspace/; revision=926545
2009-02-15 16:37:42 +00:00
Lucas Murray
beee5a8f85 If the cursor goes into the "dead" area of a Xinerama screen where the
two monitors have different resolutions treat it as if the cursor
didn't move at all when attempting to move a window. Prevents KWin from
crashing when in this situation.

svn path=/trunk/KDE/kdebase/workspace/; revision=925355
2009-02-13 06:15:59 +00:00
Luboš Luňák
1297fe6daa Fix position of gravitated windows after a crash.
http://lists.kde.org/?l=kwin&m=123149700221501&w=2


svn path=/trunk/KDE/kdebase/workspace/; revision=925062
2009-02-12 10:01:40 +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
Frederik Schwarzer
a604e4a60d global typo fix
svn path=/trunk/KDE/kdebase/workspace/; revision=922431
2009-02-07 01:12:28 +00:00
Guillaume Pothier
b362b980cb Fixed many Kephal bugs.
BUG: 173017

svn path=/trunk/KDE/kdebase/workspace/; revision=910287
2009-01-12 23:45:03 +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
Guillaume Pothier
f780e8b68b Kephalized plasma and kwin: replaced usage of QDesktopWidget by Kephal
svn path=/trunk/KDE/kdebase/workspace/; revision=884482
2008-11-15 03:04:44 +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
08571b2f52 Do not use 'assert( false )', with NDEBUG that is a no-op and
results in warnings about missing return.


svn path=/trunk/KDE/kdebase/workspace/; revision=861879
2008-09-17 11:44:51 +00:00
Lucas Murray
cc6e98cec9 If restoring a window that was maximized on a different screen don't restore to the old screen.
BUG: 169928

svn path=/trunk/KDE/kdebase/workspace/; revision=853323
2008-08-27 14:50:10 +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
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
Lucas Murray
637f1dacb7 Fix off-by-one error in window corner snapping when resizing
svn path=/trunk/KDE/kdebase/workspace/; revision=840691
2008-08-01 14:45:49 +00:00
Luboš Luňák
e7b73e9e5f Fix indentation.
svn path=/trunk/KDE/kdebase/workspace/; revision=839198
2008-07-29 13:44:08 +00:00
Luboš Luňák
1802a82513 Fix out-of-bounds array access when increasing screen count with randr1.2.
BUG: 163045


svn path=/trunk/KDE/kdebase/workspace/; revision=839192
2008-07-29 13:36:55 +00:00
Lucas Murray
0581746327 Allow moving of maximized windows across screens
BUG: 131299

svn path=/trunk/KDE/kdebase/workspace/; revision=837644
2008-07-25 10:31:47 +00:00
Lucas Murray
e1683ef06f Snap to window corners.
BUG: 130452

svn path=/trunk/KDE/kdebase/workspace/; revision=837640
2008-07-25 10:19:28 +00:00
Lucas Murray
79a8f87268 Fix center snapping algorithm for unrestricted moves
Also don't snap when another snap zone is closer

svn path=/trunk/KDE/kdebase/workspace/; revision=837639
2008-07-25 10:16:09 +00:00
Lucas Murray
f01bfcc62b Added center snap zone to windows.
BUG: 133637


svn path=/trunk/KDE/kdebase/workspace/; revision=830029
2008-07-09 15:18:47 +00:00
Luboš Luňák
7453006a5d Make sure the geometry tip is visible.
BUG: 163997 


svn path=/trunk/KDE/kdebase/workspace/; revision=822551
2008-06-20 16:21:03 +00:00
Luboš Luňák
10af64fc67 Compute workarea diffs right when setting geometry, not delayed.
Fixes e.g. 'Move Window to Next Screen' shortcut.
BUG: 163051  


svn path=/trunk/KDE/kdebase/workspace/; revision=815700
2008-06-02 14:34:05 +00:00
Luboš Luňák
22b3584b8d When trying to keep a window fully inside an area, shrink if necessary and possible.
svn path=/trunk/KDE/kdebase/workspace/; revision=814467
2008-05-30 11:45:15 +00:00
Luboš Luňák
fb1827d124 Replace -1 with active screen in clientArea() if needed.
svn path=/trunk/KDE/kdebase/workspace/; revision=810009
2008-05-19 21:22:06 +00:00
Aike J. Sommer
2cfa81c2fc Allow desktop-type windows to only span one xrandr/mergedfb/xinerama-screen instead of all screens combined.
Forgot to remove QDesktopWidget includes, sorry!

svn path=/trunk/KDE/kdebase/workspace/; revision=803353
2008-05-02 16:39:49 +00:00
Aike J. Sommer
1819ad69b2 Allow desktop-type windows to only span one xrandr/mergedfb/xinerama-screen instead of all screens combined.
svn path=/trunk/KDE/kdebase/workspace/; revision=803349
2008-05-02 16:35:35 +00:00
Luboš Luňák
26b79d9177 Use QVector instead of plain-C-error-prone-memory-leaking arrays.
svn path=/trunk/KDE/kdebase/workspace/; revision=798503
2008-04-18 12:57:16 +00:00
Luboš Luňák
e7c88f309d Reduce the difference between noborder requested by the application
and set by the user - they're now interchangeable. Which means
that Alt+F3/Advanced/No border can put the window decoration
back on the KRunner window regardless of what Plasma or any other
app thinks.


svn path=/trunk/KDE/kdebase/workspace/; revision=788964
2008-03-23 00:12:11 +00:00
Luboš Luňák
38291eb82c Make border sizes while maximizing take effect even when the actual
geometry does not change.
BUG: 158252


svn path=/trunk/KDE/kdebase/workspace/; revision=787741
2008-03-19 19:32:32 +00:00
Bill Egert
c12a07e11a Update QRect stuffs.
intersect() => intersected()
addCoords() => adjust()
coords() => getCoords()
moveBy() => translate()
rect() => getRect()

svn path=/trunk/KDE/kdebase/runtime/kstyles/; revision=776918
2008-02-19 01:58:04 +00:00
Luboš Luňák
d40cbd887a Handle correctly the case when maximization changes in both direction
in opposite ways.
BUG: 153970


svn path=/trunk/KDE/kdebase/workspace/; revision=762644
2008-01-17 15:44:21 +00:00
Luboš Luňák
5c7798c884 Make maximizing change full->vertical/horizontal work
if there's no saved restore geometry.


svn path=/trunk/KDE/kdebase/workspace/; revision=762640
2008-01-17 15:37:52 +00:00
Luboš Luňák
a30d1ee6ad Call updateShape() unconditionally, it checks itself for shape presence
and also handles input shape, about which shape() call doesn't say anything.
BUG: 152809


svn path=/trunk/KDE/kdebase/workspace/; revision=749695
2007-12-17 16:30:36 +00:00
Rivo Laks
491445fb65 Add repaint for the new position of the window as well.
svn path=/trunk/KDE/kdebase/workspace/; revision=742661
2007-11-28 15:02:29 +00:00
Luboš Luňák
2de13954d1 Ensure forced position really takes place.
svn path=/trunk/KDE/kdebase/workspace/; revision=742658
2007-11-28 14:44:53 +00:00
Luboš Luňák
4dc72ace64 Detect when enforcing position fails.
svn path=/trunk/KDE/kdebase/workspace/; revision=742656
2007-11-28 14:33:35 +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
ab70575d1f Make the outline for moving/resizing work with Qt4, which bothers
to support XOR painting only when XRender is available. Given that
outline should be mainly used with older systems, go for a DIY Xlib-based
solution. Needs changes in decorations using it.
BUG: 149997


svn path=/trunk/KDE/kdebase/workspace/; revision=739136
2007-11-20 16:00:58 +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
ab1582de27 It's really interesting that KWin has had support for an arbitrary root
window, but I don't think it really works these days, and it's probably
also not useful at all.


svn path=/trunk/KDE/kdebase/workspace/; revision=689949
2007-07-19 16:24:51 +00:00
Luboš Luňák
162d6ac7c9 Support for _NET_WM_SYNC_REQUEST, based on a patch
by Rayiner Hashem <gtg990h@mail.gatech.edu>.


svn path=/trunk/KDE/kdebase/workspace/; revision=679986
2007-06-25 08:51:44 +00:00
Luboš Luňák
ef59c8956a When doing a forced geometry update while updates are suspended, remember to force the geometry
update when resuming.


svn path=/trunk/KDE/kdebase/workspace/; revision=677635
2007-06-19 15:40:09 +00:00
Pino Toscano
38267e8ac6 less qt3support
svn path=/trunk/KDE/kdebase/workspace/; revision=672194
2007-06-06 10:37:37 +00:00
Luboš Luňák
61ada25cdf Rework r293762 - enter move/resize mode also when the user just
holds the mouse button down for a moment, without moving.


svn path=/trunk/KDE/kdebase/workspace/; revision=667351
2007-05-22 15:46:42 +00:00
Luboš Luňák
02405eccd7 Set active Xinerama screen when moving.
svn path=/trunk/KDE/kdebase/workspace/; revision=662863
2007-05-09 12:26:32 +00:00
Luboš Luňák
1dd1daec48 Shortcuts for switching and moving windows between Xinerama screens.
CCBUG: 80755


svn path=/trunk/KDE/kdebase/workspace/; revision=662089
2007-05-07 13:13:48 +00:00
Luboš Luňák
d510baf365 Option for separating focus between Xinerama screens.
svn path=/trunk/KDE/kdebase/workspace/; revision=662065
2007-05-07 12:18:19 +00:00
Luboš Luňák
7a0f50b298 KWM->KWindowSystem
svn path=/trunk/KDE/kdebase/workspace/; revision=659662
2007-04-30 15:48:34 +00:00
Luboš Luňák
70e0c099d8 Merging from old trunk:
r625469 | hermier | 2007-01-20 10:56:57 +0100 (Sat, 20 Jan 2007) | 1 line

#625468 ported to KDE4


svn path=/trunk/KDE/kdebase/workspace/; revision=659525
2007-04-30 11:36:29 +00:00
Luboš Luňák
176f0e39ce Merging from old trunk:
r608815 | lunakl | 2006-11-28 15:15:38 +0100 (Tue, 28 Nov 2006) | 4 lines

Confine mouse to the screen when doing move/resize.
(BUG: 88506)


svn path=/trunk/KDE/kdebase/workspace/; revision=659466
2007-04-30 09:39:24 +00:00
Luboš Luňák
5feb577369 Merging from old trunk:
r571712 | lunakl | 2006-08-10 15:15:16 +0200 (Thu, 10 Aug 2006) | 3 lines

Support for input shape from XShape1.1 (#122425).


svn path=/trunk/KDE/kdebase/workspace/; revision=659272
2007-04-29 21:19:29 +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
e1406c3e42 Utility function for XGrabKeyboard().
svn path=/branches/work/kwin_composite/; revision=654227
2007-04-15 14:39:10 +00:00
Rivo Laks
02032f8587 Move most (all?) internal methods from EffectsHandler to EffectsHandlerImpl.
The ugly side effect of this is that there are tons of static_casts in the code now... maybe it
  would be better to add effectImpl() convenience method and use that?

svn path=/branches/work/kwin_composite/; revision=652348
2007-04-10 18:47:13 +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
3617d1bf8a Merge r649608, r649403, r649230 and r648582 from trunk (porting).
svn path=/branches/work/kwin_composite/; revision=649948
2007-04-03 13:24:05 +00:00
Luboš Luňák
10ea80a963 KWin/KWinModule -> KWM
svn path=/trunk/KDE/kdebase/workspace/; revision=649608
2007-04-02 21:30:50 +00:00
Luboš Luňák
8b5b40e4e8 Shadows. Right not it's only flat black rectangle, but otherwise
everything should work.


svn path=/branches/work/kwin_composite/; revision=646315
2007-03-25 10:48:07 +00:00
Luboš Luňák
f6ad1881e1 Support for window thumbnails.
svn path=/branches/work/kwin_composite/; revision=640344
2007-03-07 17:50:33 +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
Luboš Luňák
559f90a06a Damage also new position after moving.
svn path=/branches/work/kwin_composite/; revision=632609
2007-02-11 18:46:50 +00:00
Philip Falkner
ca856c28e1 Fix compositing repaint bug where moving a window would not draw properly (especially noticeable when snapping to a border).
svn path=/branches/work/kwin_composite/; revision=632339
2007-02-10 18:28:04 +00:00
Luboš Luňák
4e20ef71e4 r629143 was supposed to go to trunk, kwin_composite is only for compositing work.
svn path=/trunk/KDE/kdebase/workspace/; revision=629362
2007-02-02 14:24:00 +00:00
Dirk Mueller
b34d4ac7c4 xrandr support (hopefully this compiles, can't test here)
svn path=/branches/work/kwin_composite/; revision=629143
2007-02-01 15:39:44 +00:00
Luboš Luňák
7cb649edcb Tell scene about size changes.
svn path=/branches/work/kwin_composite/; revision=628606
2007-01-30 16:49:08 +00:00
Luboš Luňák
0ae5a772e7 Add EffectWindow as a window representation for effects,
to hide the change from Client/Unmanaged and eventually also
act as the only API available to effects.


svn path=/branches/work/kwin_composite/; revision=626360
2007-01-22 22:57:22 +00:00
Michel Hermier
0fdc6c4469 #625468 ported to KDE4
svn path=/trunk/KDE/kdebase/workspace/; revision=625469
2007-01-20 09:56:57 +00:00
Luboš Luňák
ab8d845718 Reset compositing on XRandr changes to react on screen
size or refresh rate changes, patch by Philip Falkner.


svn path=/branches/work/kwin_composite/; revision=610114
2006-12-03 13:29:57 +00:00
Luboš Luňák
b1ce5309a3 Configure mouse to the screen when doing move/resize.
BUG: 88506


svn path=/trunk/KDE/kdebase/workspace/; revision=608815
2006-11-28 14:15:38 +00:00
Luboš Luňák
951448b575 Try to reduce damage caused by window moving.
svn path=/branches/work/kwin_composite/; revision=606266
2006-11-19 20:08:56 +00:00
Luboš Luňák
09781249b9 Name the class used to postpone geometry changes also Blocker,
to be consistent with the one used for stacking changes.


svn path=/branches/work/kwin_composite/; revision=606262
2006-11-19 20:04:31 +00:00
Luboš Luňák
3f46d36bb9 Add convenience functions for damaging full area.
svn path=/branches/work/kwin_composite/; revision=598834
2006-10-24 19:28:17 +00:00
Luboš Luňák
b168c35384 Don't cache window pixmap, it's used only after it
changes.


svn path=/branches/work/kwin_composite/; revision=593453
2006-10-07 21:20:23 +00:00
Luboš Luňák
06203d0652 Don't bother with trying to transform window damage,
when there are any transformations, it should simply
repaint everything (todo).


svn path=/branches/work/kwin_composite/; revision=593450
2006-10-07 21:18:36 +00:00
Luboš Luňák
649887d6c2 Looks like using XserverRegion for keeping damage regions
wasn't that good idea. Changed to QRegion.


svn path=/branches/work/kwin_composite/; revision=590648
2006-09-30 15:40:03 +00:00
Luboš Luňák
fa8cd7541f It wasn't a very good idea to do even compositing-unrelated
work in the work/kwin_composite branch.
svn merge revs 558154,558180,558236,558243,558258,562201


svn path=/trunk/KDE/kdebase/workspace/; revision=571776
2006-08-10 17:00:14 +00:00
Luboš Luňák
293f093ea1 Support for input shape from XShape1.1 (#122425).
svn path=/trunk/KDE/kdebase/workspace/; revision=571712
2006-08-10 13:15:16 +00:00
Luboš Luňák
e24815411a Keep damage info separately for every window.
svn path=/branches/work/kwin_composite/; revision=561966
2006-07-13 18:17:49 +00:00
Luboš Luňák
0516e1e73b Add support for translation and add two "plugins" that
make windows transparent or shake them while moving.


svn path=/branches/work/kwin_composite/; revision=559013
2006-07-06 13:17:44 +00:00
Luboš Luňák
f400646a6d xrender compositing work - now it uses damage areas
to reduce amount of painting


svn path=/branches/work/kwin_composite/; revision=558580
2006-07-05 16:04:11 +00:00
Luboš Luňák
f4f07d4fd3 Remove kompmgr-related code except for the generic parts like
the slider in Alt+F3.


svn path=/branches/work/kwin_composite/; revision=558258
2006-07-04 23:30:05 +00:00
Luboš Luňák
4f12c1e606 Some first attempt at effects interface.
svn path=/branches/work/kwin_composite/; revision=558191
2006-07-04 20:51:01 +00:00
Luboš Luňák
571ba9cf9e Basic compositing support. It doesn't actually do anything
besides drawing what should be drawn anyway, and there are
still some things missing like stacking order for override
redirect windows, but KWin is basically a compositing manager now.


svn path=/branches/work/kwin_composite/; revision=558168
2006-07-04 20:02:07 +00:00
Luboš Luňák
e0dcc3ba46 Some convenience functions for QX11Info stuff.
svn path=/branches/work/kwin_composite/; revision=558154
2006-07-04 19:36:19 +00:00
Luboš Luňák
5646eafb33 Do the miscalculated-place-at-the-same-position hack only
if it comes from an application.


svn path=/trunk/KDE/kdebase/workspace/; revision=548841
2006-06-06 15:56:43 +00:00
Luboš Luňák
d3b5bf8a68 Size can be empty during attempted resize, avoid the warning.
svn path=/trunk/KDE/kdebase/workspace/; revision=546265
2006-05-29 16:00:19 +00:00
Thorsten Roeder
e000f78091 fixing some EBN issues
svn path=/trunk/KDE/kdebase/workspace/; revision=542916
2006-05-20 15:56:37 +00:00
Laurent Montel
5725624c8b #include <q...h> -> #include <Q...>
svn path=/trunk/KDE/kdebase/workspace/; revision=540496
2006-05-13 16:33:18 +00:00
Luboš Luňák
7f04417ad5 One more of "When a window resizes, first try to keep it inside its xinerama screen."
svn path=/trunk/KDE/kdebase/workspace/; revision=528602
2006-04-11 13:47:32 +00:00
Luboš Luňák
21644ee234 I hate backwards compatibility.
svn path=/trunk/KDE/kdebase/workspace/; revision=527752
2006-04-09 09:40:21 +00:00
Luboš Luňák
f9a6c6c9ba So this is why fullscreening on xinerama is so random ... reverting r423736.
If you want KWin to obey the app's idea of what fullscreen geometry might be
just force obeying strict geometry in the workarounds tab in window-specific
settings.


svn path=/trunk/KDE/kdebase/workspace/; revision=514433
2006-02-28 13:03:31 +00:00
Luboš Luňák
c4e72833fe When a window resizes, first try to keep it inside its xinerama screen.
svn path=/trunk/KDE/kdebase/workspace/; revision=513048
2006-02-24 10:36:03 +00:00
Luboš Luňák
cfb1b5e42d Handle struts set by panels that are at xinerama edges that
are inside the virtual area.


svn path=/trunk/KDE/kdebase/workspace/; revision=511696
2006-02-20 17:41:13 +00:00
Luboš Luňák
10775a9763 ScreenArea is supposed to be without struts.
svn path=/trunk/KDE/kdebase/workspace/; revision=511672
2006-02-20 16:48:48 +00:00
Luboš Luňák
b9f3db77d4 Dump the hack that tries to guess partial xinerama-aware struts from the old ones.
svn path=/trunk/KDE/kdebase/workspace/; revision=511660
2006-02-20 16:18:18 +00:00
Allen Winter
ae65a40c7a TRUE->true, FALSE->false
svn path=/trunk/KDE/kdebase/workspace/; revision=511180
2006-02-19 01:33:48 +00:00
Allen Winter
441523a689 Replace obsolete QMAX() and QMIN() with qMax() and qMin().
svn path=/trunk/KDE/kdebase/workspace/; revision=510739
2006-02-17 21:54:55 +00:00
Luboš Luňák
406c89a8b2 Fix setting of minsize used in Client::sizeForClientSize()
if base size is set and minsize is not (#121968).


svn path=/trunk/KDE/kdebase/workspace/; revision=509609
2006-02-15 09:53:06 +00:00
Laurent Montel
0fa10f318d Deprecated--
svn path=/trunk/KDE/kdebase/workspace/; revision=506323
2006-02-06 14:47:18 +00:00
Eike Hein
0aeabb9550 Forward-port r494303 from 3.5 branch.
svn path=/trunk/KDE/kdebase/workspace/; revision=494311
2006-01-04 16:16:26 +00:00
Stephan Kulow
6c821aba01 some more compiling
svn path=/trunk/KDE/kdebase/workspace/; revision=473006
2005-10-22 11:35:06 +00:00
Luboš Luňák
7abacfa2fb When just adjusting maximized state e.g. because of workarea changes,
don't destroy data about restoring back.


svn path=/trunk/KDE/kdebase/kwin/; revision=449976
2005-08-17 09:34:00 +00:00
Eike Hein
b5ff06d5f8 Backport svn commit 449791
svn path=/trunk/KDE/kdebase/kwin/; revision=449793
2005-08-16 18:41:06 +00:00
Luboš Luňák
3ec72118f2 Some fixes for placement code, so that e.g. placing a dialog
on its mainwindow also still maximizes it if maximizing placement
policy is used.


svn path=/trunk/KDE/kdebase/kwin/; revision=444048
2005-08-08 14:25:41 +00:00
Stephan Kulow
b464518b3c svn merge svn+ssh://coolo@svn.kde.org/home/kde/trunk/KDE/kdebase@438057
svn+ssh://coolo@svn.kde.org/home/kde/branches/work/kde4/kdebase
          .

I couldn't resolve one kicker conflict that results from different
development directions, so I rely on Aaron to sort it out - the file
is commited with conflicts

svn path=/trunk/KDE/kdebase/kwin/; revision=439627
2005-07-28 14:59:42 +00:00
Luboš Luňák
30cab17748 Another final attempt at sorting out the shaded geometry problems.
This time at least the code should detect properly all attempts
to use shaded geometry when the normal one is needed.
BUG: 96602


svn path=/trunk/KDE/kdebase/kwin/; revision=425377
2005-06-14 15:35:44 +00:00
Fred Emmott
b10e8e559b Improved support for xinerama-fullscreen apps
svn path=/trunk/KDE/kdebase/kwin/; revision=423736
2005-06-09 14:40:36 +00:00
Luboš Luňák
da00272012 An attempt to get the crazy shaded windows geometry handling right.
This fixes comment #10 in 96602, I don't know if it fixes as a whole,
but I'm quite sure people will complain again if not.
BUG: 96602


svn path=/trunk/KDE/kdebase/kwin/; revision=423512
2005-06-08 18:07:27 +00:00
Luboš Luňák
5587e43337 Fix last commit.
svn path=/trunk/KDE/kdebase/kwin/; revision=423507
2005-06-08 17:32:19 +00:00
Luboš Luňák
8ef2a46218 Use functions for postponing geometry updates, rather doing
it manually all the time using setGeometry( geometry()).
Needed for getting geometry of the damn shaded windows right
finally.


svn path=/trunk/KDE/kdebase/kwin/; revision=423506
2005-06-08 17:16:53 +00:00
Luboš Luňák
90b92dd290 Temporarily block geometry while (re)setting fullscreen mode, otherwise
updateDecoration() can cause resizing and changing the maximize state.
BUG: 106019


svn path=/trunk/KDE/kdebase/kwin/; revision=417304
2005-05-23 11:43:29 +00:00
Luboš Luňák
e4c84f39e4 Fix usage of PBaseSize and PMinSize in size hints. Makes geometry tip
show proper size for xterm.


svn path=/trunk/KDE/kdebase/kwin/; revision=415390
2005-05-18 13:59:59 +00:00
Luboš Luňák
4bc13d6293 Oops, fix #80545.
svn path=/trunk/KDE/kdebase/kwin/; revision=414893
2005-05-17 08:38:14 +00:00
Luboš Luňák
ced5ab580a Die, window type override, die! Since nobody really knows what this window
type means anyway, let's simply consider it to be a legacy way of saying "noborder"
and nothing more.


svn path=/trunk/KDE/kdebase/kwin/; revision=412372
2005-05-11 14:20:54 +00:00
Luboš Luňák
2322833673 Try to avoid resizing windows due to workarea changes.
BUG: 80545


svn path=/trunk/KDE/kdebase/kwin/; revision=409244
2005-05-04 12:14:34 +00:00