Cristian Tibirna
05c003dd28
window and border snapping during resize operations.
...
Patch contributed by Christopher Suleski (linux from tildewave com): http://bugs.kde.org/show_bug.cgi?id=45805
Many thanks, Christopher.
Code inspected by Lubos Lunak.
Reviewed, slightly adapted and tested by me.
CCMAIL: 45805-done@bugs.kde.org
svn path=/trunk/kdebase/kwin/; revision=317353
2004-06-03 12:36:57 +00:00
Luboš Luňák
7eadd6463f
KWin rules - position and size.
...
Forcing position doesn't work yet, and forcing size needs more testing.
svn path=/trunk/kdebase/kwin/; revision=316414
2004-05-31 14:25:25 +00:00
Luboš Luňák
a114e9acc3
KWin rules - override minsize/maxsize.
...
svn path=/trunk/kdebase/kwin/; revision=316413
2004-05-31 14:15:33 +00:00
Luboš Luňák
b5181ba7f8
No longer necessary to eat paint events during transparent move/resize ?
...
http://lists.kde.org/?l=kwin&m=108523300632332&w=2
svn path=/trunk/kdebase/kwin/; revision=314043
2004-05-24 09:15:40 +00:00
Xavier Izard
ab428d9ab0
Patch for xinerama mode to allow fullscreens both on one or several screen(s)
...
svn path=/trunk/kdebase/kwin/; revision=310202
2004-05-10 23:22:27 +00:00
Luboš Luňák
bfc2e69530
So much for clever workarounds.
...
CCMAIL: 80653-done@bugs.kde.org
svn path=/trunk/kdebase/kwin/; revision=307565
2004-04-30 15:12:28 +00:00
Luboš Luňák
23ac6a4381
Initialize values needed for electric borders even in the only-move case.
...
(#79252 ).
svn path=/trunk/kdebase/kwin/; revision=304267
2004-04-16 16:17:32 +00:00
Dirk Mueller
ac083a60f8
unbreak compilation
...
svn path=/trunk/kdebase/kwin/; revision=296457
2004-03-17 02:57:23 +00:00
George Staikos
4b0caa15b3
patch from Lubos for Xinerama movement snapping
...
CCMAIL: l.lunak@suse.cz
svn path=/trunk/kdebase/kwin/; revision=294555
2004-03-08 22:32:47 +00:00
Luboš Luňák
ff081c36a0
Fix #76394 ,
...
svn path=/trunk/kdebase/kwin/; revision=293762
2004-03-05 14:22:11 +00:00
Luboš Luňák
e329c3d872
Use a separate InputOnly window covering whole screen because it
...
reportedly improves move/resize performance on some systems
for some reason which I fail to see, but oh well.
(http://lists.kde.org/?t=107302193400001&r=1&w=2 )
svn path=/trunk/kdebase/kwin/; revision=293755
2004-03-05 13:39:27 +00:00
Luboš Luňák
3575a90230
Avoid -1 as array index.
...
svn path=/trunk/kdebase/kwin/; revision=290548
2004-02-23 14:20:13 +00:00
Dirk Mueller
1e121b6c94
- fix compiler error
...
- fix compiler warning
svn path=/trunk/kdebase/kwin/; revision=290440
2004-02-23 03:23:29 +00:00
Luboš Luňák
e7cc4aa974
One more bug in clientArea().
...
svn path=/trunk/kdebase/kwin/; revision=289117
2004-02-18 18:12:09 +00:00
Luboš Luňák
bf814c45e0
Handle two todo comments from the recent partial struts commit,
...
and fix a problem with clientArea( WorkArea ) ignoring struts.
svn path=/trunk/kdebase/kwin/; revision=289110
2004-02-18 17:57:57 +00:00
Luboš Luňák
41bcfe70ed
With restricted movement, don't require 100 pixels to be visible if
...
the window is not so wide.
CCMAIL: 71111-done@bugs.kde.org
svn path=/trunk/kdebase/kwin/; revision=289074
2004-02-18 16:57:52 +00:00
Luboš Luňák
a483fdeca7
Oops, sorry.
...
svn path=/trunk/kdebase/kwin/; revision=288956
2004-02-18 09:47:38 +00:00
Otto Bruggeman
f5433a4e1d
Compile fix... the for loop can go entirely...
...
CCMAIL: l.lunak@suse.cz
svn path=/trunk/kdebase/kwin/; revision=288868
2004-02-17 22:31:45 +00:00
Peter Rockai
2eb784cf35
Support for NETWM partial struts (_NET_WM_STRUT_PARTIAL, we call them
...
extended here, ask Lubos why :>). This patch also includes workaround
for kicker (in its current state, without extended-strut support), so it
works in xinerama setups as expected. Thanks go to Lubos for help with
implementation and for review.
svn path=/trunk/kdebase/kwin/; revision=288758
2004-02-17 17:34:00 +00:00
Luboš Luňák
22e7409160
Revert r2.51. Tk is either too stupid to see a difference between normal
...
and synthetic configure events, or it's too paranoid to trust the normal
ones.
CCMAIL: 75167-done@bugs.kde.org
svn path=/trunk/kdebase/kwin/; revision=287782
2004-02-13 17:29:56 +00:00
Luboš Luňák
0a283ed773
Oops, I broke cancelling fullscreen from Alt+F3.
...
svn path=/trunk/kdebase/kwin/; revision=286754
2004-02-10 11:46:46 +00:00
Luboš Luňák
714d3fcd6c
If e.g. the titlebar is already outside of the workarea, there's no point in performing
...
a restricted move/resize, because then e.g. resize would also move the window (#74555 ).
svn path=/trunk/kdebase/kwin/; revision=286537
2004-02-09 18:09:01 +00:00
Luboš Luňák
b525af029e
Avoid sending synthetic configure notify events with user moving/resizing
...
when a real one will be sent.
svn path=/trunk/kdebase/kwin/; revision=284785
2004-02-03 15:18:15 +00:00
Luboš Luňák
10405ee978
Optimize MotionNotify discarding while moving/resizing.
...
svn path=/trunk/kdebase/kwin/; revision=284784
2004-02-03 15:16:58 +00:00
Luboš Luňák
8d00434917
Don't disallow fullscreening for windows that have maximum size set,
...
way too many apps apparently think setting a maximum or fixed size
and then requesting fullscreen is ok.
CCMAIL: 73509-done@bugs.kde.org
svn path=/trunk/kdebase/kwin/; revision=284486
2004-02-02 14:15:31 +00:00
Luboš Luňák
e5d6fb447d
Fix non-NETWM fullscreen applications.
...
CCMAIL:71825-done@bugs.kde.org
svn path=/trunk/kdebase/kwin/; revision=281054
2004-01-19 15:07:14 +00:00
Luboš Luňák
24cae23c66
Fix Xinerama placement. Thanks to Malte S. Stretz for help with debugging
...
and testing.
svn path=/trunk/kdebase/kwin/; revision=278437
2004-01-10 15:13:23 +00:00
Luboš Luňák
c1d1b6289f
Make sure there aren't two windows given focus with the same X timestamp,
...
because if one timestamp is reused for activating window A and then
immediatelly window B, and A will want to set focus to one
of its subwindows after receiving WM_TAKE_FOCUS, and will lag a bit,
it will actually set the focus after B, and will win. Fixes #71704 .
If somebody still gets the warning, I'd be interested in the backtrace.
svn path=/trunk/kdebase/kwin/; revision=278208
2004-01-09 17:35:21 +00:00
Luboš Luňák
59fa15a185
Read correctly original size when doing partial unmaximalization.
...
CCMAIL: 68106-done@bugs.kde.org
svn path=/trunk/kdebase/kwin/; revision=278167
2004-01-09 15:32:37 +00:00
Luboš Luňák
3969e69d23
Oops. Once again, now it compiles.
...
svn path=/trunk/kdebase/kwin/; revision=274323
2003-12-22 10:47:47 +00:00
Anne-Marie Mahfouf
11b288081c
I guess someone had to try to fix it so here am I
...
hope I did right
svn path=/trunk/kdebase/kwin/; revision=274083
2003-12-20 23:54:25 +00:00
Luboš Luňák
45f26c3985
Apparently one needs to be clever when dealing with stupid things (part of #70623 ).
...
svn path=/trunk/kdebase/kwin/; revision=273901
2003-12-19 18:19:27 +00:00
Luboš Luňák
569224d117
Replace the temporary MousePosition enum naming with something that
...
doesn't look so silly and doesn't conflict with Qt.
svn path=/trunk/kdebase/kwin/; revision=273144
2003-12-15 15:10:17 +00:00
Luboš Luňák
9326a7f008
Fix #69787 - off-by-one error when checking top position.
...
CCMAIL: 69787-done@bugs.kde.org
svn path=/trunk/kdebase/kwin/; revision=271907
2003-12-08 12:50:32 +00:00
Luboš Luňák
c151780247
Fix #69721 . Also, set the move cursor before input grabs, so the grab
...
uses the new cursor.
svn path=/trunk/kdebase/kwin/; revision=271904
2003-12-08 12:42:18 +00:00
Luboš Luňák
0ba12a0837
Perform whole new window managing with X server grab, in order to prevent
...
"smart" apps from doing stupid things before they get MapNotify.
This avoids the recent Java+OracleInstaller strange problem too.
The patch may look huge, but it's only adding two KWin wrappers
for X(Un)GrabServer() and uncommenting the calls in Client::manage().
svn path=/trunk/kdebase/kwin/; revision=271152
2003-12-04 13:54:10 +00:00
Luboš Luňák
0cf7454675
And eventually user moving/resizing seems to work, even with aspect ratios.
...
When moving/resizing, first do the operation unconstrained, then snap
(now it should be even simple to implement snapping while resizing),
then check workarea bounds and finally check constrains, while keeping
the respective fixed order for the resize operation at the same position.
Also geometry() -> initialMoveResizeGeometry, as geometry() may change
with opaque move/resize.
svn path=/trunk/kdebase/kwin/; revision=269301
2003-11-24 14:31:02 +00:00
Luboš Luňák
fde7aedf9c
Removed duplication of code.
...
svn path=/trunk/kdebase/kwin/; revision=269300
2003-11-24 14:30:31 +00:00
Luboš Luňák
3768a7f31f
I apparently didn't comprehend the user move/resize code, otherwise
...
I wouldn't have added something that was there already.
svn path=/trunk/kdebase/kwin/; revision=269299
2003-11-24 14:29:57 +00:00
Luboš Luňák
4cc6229be3
*sigh*, how can somebody name variables for topleft and bottomright corners pp and p?
...
This code is not easy to understand even without meaningless names.
svn path=/trunk/kdebase/kwin/; revision=269298
2003-11-24 14:26:58 +00:00
Luboš Luňák
2c3f9c4069
Some attempts to fix aspect ratios breaking resizing.
...
When resizing windows manually (Client::handleMoveResize()) still doesn't work.
svn path=/trunk/kdebase/kwin/; revision=269296
2003-11-24 14:26:11 +00:00
Luboš Luňák
2553476f53
Don't require both mouse and keyboard grab for move/resize,
...
one of them is enough. Allows resising of the configure shortcut
dialog.
svn path=/trunk/kdebase/kwin/; revision=269294
2003-11-24 14:25:33 +00:00
Luboš Luňák
162c76cf46
Reset Client::buttonDown if startMoveResize() failed
...
due to not being able to grab input. Visible with
resizing the shortcut configure dialog, which has grab.
svn path=/trunk/kdebase/kwin/; revision=269293
2003-11-24 14:24:34 +00:00
Luboš Luňák
d46c7413c4
Hopefully final fixes for topmenus managed by KWin to work ( #66152 ).
...
Written by Schizo, reviewed by Frenia. As it was broken anyway, I don't
think this can break it more.
svn path=/trunk/kdebase/kwin/; revision=266813
2003-11-13 14:34:05 +00:00
Luboš Luňák
1d71c9839b
Reserve space for topmenus, so there's no flicker, and the space is taken
...
even with no topmenu shown. Support topmenus only when enabled in kdeglobals.
svn path=/trunk/kdebase/kwin/; revision=266531
2003-11-12 09:47:13 +00:00
Luboš Luňák
07b08d5d99
Don't use struts if KWin itself restricts workarea size by topmenus.
...
svn path=/trunk/kdebase/kwin/; revision=266150
2003-11-10 18:08:04 +00:00
Sandro Giessl
2ebc2443fc
Call decoration->borders() etc. in resetMaximize() too. -- Fixes some more
...
problems for the Keramik decoration.
svn path=/trunk/kdebase/kwin/; revision=264345
2003-11-03 22:37:58 +00:00
Luboš Luňák
ea011dda6a
Borrowed code for aspect ratios from elsewhere, this time from FVWM.
...
Hopefully this one works better.
svn path=/trunk/kdebase/kwin/; revision=262941
2003-10-29 09:53:32 +00:00
Luboš Luňák
1709cb0e44
Make KDecoration::minimumSize() mean the whole decoration size, not
...
the inner window size.
svn path=/trunk/kdebase/kwin/; revision=262463
2003-10-27 14:42:43 +00:00
Luboš Luňák
43c71a8c72
No delayed deleting of decorations. They'll have to check themselves
...
instead, using KDecorationFactory::exists(). Fixes #66205 , and it wasn't
really that good idea anyway.
svn path=/trunk/kdebase/kwin/; revision=260988
2003-10-22 08:26:09 +00:00
Luboš Luňák
20ffdc2263
Send synthetic configure notify event when manually moving/resizing.
...
svn path=/trunk/kdebase/kwin/; revision=258903
2003-10-14 15:33:05 +00:00
Luboš Luňák
1751ac0880
Fix #31484 - snapping to workarea edges is already done by snapping
...
to windows, snap also to screen edges.
CCMAIL: 31484-done@bugs.kde.org
svn path=/trunk/kdebase/kwin/; revision=257737
2003-10-10 13:09:54 +00:00
Luboš Luňák
984c76f0c1
More shade related changes.
...
svn path=/trunk/kdebase/kwin/; revision=257727
2003-10-10 13:00:26 +00:00
Luboš Luňák
34fa4a4399
Cleanup of Xinerama handling. I don't claim I actually fixed something,
...
but at least now the code doesn't look like uncommented random something.
And who knows, maybe I even fixed it ;).
CCMAIL: staikos@kde.org
What the hell does "Show unmanaged windows on:" mean in the kcm dialog?
svn path=/trunk/kdebase/kwin/; revision=257723
2003-10-10 12:58:38 +00:00
Luboš Luňák
e8da27f399
Fix #65462 .
...
svn path=/trunk/kdebase/kwin/; revision=257720
2003-10-10 12:55:43 +00:00
Luboš Luňák
128085b3d7
Don't try to fit a window inside workarea if it's larger.
...
CCMAIL: 65633-done@bugs.kde.org
svn path=/trunk/kdebase/kwin/; revision=257662
2003-10-10 09:47:14 +00:00
Luboš Luňák
566d2ec180
Unshade before going fullscreen.
...
svn path=/trunk/kdebase/kwin/; revision=256710
2003-10-06 11:36:24 +00:00
Luboš Luňák
08bb12efcf
If a windows tries to grow larger than the workarea, don't allow it to
...
do so, if size constraints allow it.
If resizing a window would make it get partially out of workarea,
move it so that it stays in workarea.
svn path=/trunk/kdebase/kwin/; revision=255616
2003-10-02 08:57:17 +00:00
Luboš Luňák
121c613228
Gravitation fixes, visible with repeated kwin --replace.
...
svn path=/trunk/kdebase/kwin/; revision=255615
2003-10-02 08:56:59 +00:00
Luboš Luňák
7c751219d0
Check "unshading" by unwanted geometry change during resizing too.
...
svn path=/trunk/kdebase/kwin/; revision=255419
2003-10-01 16:04:26 +00:00
Luboš Luňák
bd4789e32b
Looks like I got window gravities working correctly also for configure requests.
...
CCMAIL: 64981-done@bugs.kde.org
svn path=/trunk/kdebase/kwin/; revision=255356
2003-10-01 12:10:22 +00:00
Luboš Luňák
6b3d8e134a
Implemented _NET_MOVERESIZE_WINDOW.
...
Moved KWin code related to configure request to geometry.cpp to a common function.
svn path=/trunk/kdebase/kwin/; revision=255355
2003-10-01 12:08:53 +00:00
Luboš Luňák
ce37c50587
Small cleanups.
...
svn path=/trunk/kdebase/kwin/; revision=255049
2003-09-30 10:55:06 +00:00
Luboš Luňák
4cd961af56
When the original request causing removal of a decoration comes
...
from the decoration, use delayed delete.
svn path=/trunk/kdebase/kwin/; revision=254813
2003-09-29 11:20:32 +00:00
Luboš Luňák
8e367689cd
Rework restricted move/resize to be readable, and as a side effect make
...
it finally work correctly.
svn path=/trunk/kdebase/kwin/; revision=253801
2003-09-25 09:29:18 +00:00
Luboš Luňák
3081abc4b8
Sorry, this is not right. For RTL, gravities should be used.
...
svn path=/trunk/kdebase/kwin/; revision=253608
2003-09-24 14:53:45 +00:00
Luboš Luňák
2fdf81d4c6
Don't resize frame to the full size when shaded.
...
svn path=/trunk/kdebase/kwin/; revision=253542
2003-09-24 11:01:14 +00:00
Luboš Luňák
9e49d37f82
Fix workarea restrictions when moving/resizing windows.
...
CCMAIL: 64672-done@bugs.kde.org
svn path=/trunk/kdebase/kwin/; revision=253540
2003-09-24 11:00:40 +00:00
Luboš Luňák
592a92f00b
Move code related to mouse window resizing to geometry.cpp .
...
svn path=/trunk/kdebase/kwin/; revision=253538
2003-09-24 10:55:54 +00:00
Diego Iastrubni
380280cf76
fix resizing windows in RTL mode
...
now the left border is moved instead of the right one, as it should be :)
to test the patch simply run kwin -reverse, and then open konqui and the config
windows, press each one of the categories and you will see.
svn path=/trunk/kdebase/kwin/; revision=252546
2003-09-20 10:37:04 +00:00
Luboš Luňák
d8406cf439
Cleanup of Motif hints. Ignore hints forbidding minimize/maximize.
...
Fix using isResizable()/isMovable() instead of only checking the Motif hint.
svn path=/trunk/kdebase/kwin/; revision=252351
2003-09-19 11:14:16 +00:00
Luboš Luňák
a8b5c7365c
Keep workarea edge distance when turning on/off decoration.
...
Reduce the maximum distance for keeping it at the edge to 1/10 of workarea size.
Update edge distance when changing geometry.
svn path=/trunk/kdebase/kwin/; revision=252349
2003-09-19 11:13:04 +00:00
Luboš Luňák
10f405c73d
Merging kwin core from kwin_iii back to HEAD.
...
svn path=/trunk/kdebase/kwin/; revision=251608
2003-09-16 19:28:03 +00:00