Commit graph

74 commits

Author SHA1 Message Date
Luboš Luňák
03bdeb94b0 KWin rules setting maximizevert, maximizehoriz, minimize, shade, skiptaskbar,
skippager, fullscreen, noborder.

svn path=/trunk/kdebase/kwin/; revision=317377
2004-06-03 14:09:45 +00:00
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