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