Commit Graph

291 Commits (59a8aac7527a8ade6bf8b8d38e7b79d64d38e1c9)

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