Commit Graph

232 Commits (cb7e8d9644d9385c9323d4650afa126ec532c00e)

Author SHA1 Message Date
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