Commit graph

344 commits

Author SHA1 Message Date
Luboš Luňák
c72c64e4f3 Only one place where WM_TRANSIENT_FOR is read + fix a bug in mainClient().
svn path=/trunk/kdebase/kwin/; revision=198740
2003-01-10 12:39:27 +00:00
Karol Szwed
4577f0f474 Add a checkbox to enable/disable the geometry tip, making it _OFF_ by default,
as was planned. Also, it should never crash now.

Hopefully this will make pmax a bit happier ;-)

svn path=/trunk/kdebase/kwin/; revision=198711
2003-01-10 10:54:57 +00:00
George Staikos
b35e581f69 This GeometryTip is not acceptable.
- Make it "opt-in" configurable, not default to on
   - I have had instances of the widget being stuck on the screen and eventually
     causing a kwin crash
   - It conflicts nicely with konsole's resize widget

svn path=/trunk/kdebase/kwin/; revision=198652
2003-01-10 04:03:57 +00:00
Luboš Luňák
09e06d30c1 Try to have the grab for clickraise only when necessary (VisibilityNotify
based), and clean up the grab handling a bit.

svn path=/trunk/kdebase/kwin/; revision=198017
2003-01-07 14:26:58 +00:00
Luboš Luňák
eca86b5a53 Partially revert r1.333 and generate suitable maximize restore geometry
and position again.

svn path=/trunk/kdebase/kwin/; revision=198015
2003-01-07 14:23:37 +00:00
Karol Szwed
235b534b26 Add a window geometry tip when users move/resize a window. Currently it is
enabled by default, but will be made configurable soon. There is a known
issue with an incorrect geometry shown with konsole, but that's its fault,
and I'll get to that shortly (xterm does the right thing).

Disclaimer:
If it jams - force it. If it breaks, it probably needed replacing anyway.

svn path=/trunk/kdebase/kwin/; revision=197992
2003-01-07 12:42:32 +00:00
Luboš Luňák
a541e25721 Remove the state flags from the window on withdraw too, and do so only
when really withdrawing the window.

svn path=/trunk/kdebase/kwin/; revision=197778
2003-01-06 13:07:30 +00:00
Luboš Luňák
a3bd5ae078 Try to fix #32969 by keeping the mouse grab even for active windows. People
not wanting this can disable click raise. Let's see if it breaks something.
(Related to this: kwin/client.cpp r1.309,r1.308,r1.305,r1.304,r1.303.)
TODO: the grab could be released at least as long as the window is topmost
and active

svn path=/trunk/kdebase/kwin/; revision=196998
2003-01-02 16:36:00 +00:00
Luboš Luňák
5100e63107 Client::is_sticky_ is dead and would be gone, if it weren't for BIC.
No need to this duplication of Client::desk == NET::OnAllDesktops.
It's simple, desk == NET::OnAllDesktops - sticky
             desk == 0 - not mapped yet
             desk something else - the desktop the window is on

svn path=/trunk/kdebase/kwin/; revision=196529
2002-12-30 20:34:38 +00:00
Luboš Luňák
9e3efc9cd9 "implement" NET::Sticky
and ignore client requests to change NET::Hidden

svn path=/trunk/kdebase/kwin/; revision=196522
2002-12-30 20:08:31 +00:00
Luboš Luňák
c595302a1f Don't let normal windows appear out of workarea, even if they're stupid
and ask for it.

svn path=/trunk/kdebase/kwin/; revision=194509
2002-12-17 20:16:04 +00:00
Luboš Luňák
b5e356620a Fix #15016.
svn path=/trunk/kdebase/kwin/; revision=194508
2002-12-17 20:11:59 +00:00
Luboš Luňák
1519056ee1 Grmbl. Make the NET::Menu -> NET::TopMenu hack less strict.
svn path=/trunk/kdebase/kwin/; revision=189732
2002-11-19 14:44:11 +00:00
Luboš Luňák
dfcc58b00f Fix #49369 and generally try to improve window matching.
Use WM_WINDOW_ROLE also for fake sessions (Save window settings).
Remember also window type.

svn path=/trunk/kdebase/kwin/; revision=185456
2002-10-24 16:22:15 +00:00
Luboš Luňák
7c33e280ef Fix #39172. Send the synthetic configure notify event _after_ reparenting
into WindowWrapper (in WindowWrapper::show() triggered by Client::show()).
Some toolkits go up the window hiearchy when finding the "real" position
of the window (i.e. the topleft decoration border corner), and if they
receive the ReparentNotify after the synthetic ConfigureNotify, they'll
miscalculate it. (Hmm, I wonder how Qt does it since it gets it right.)

CCMAIL: 39172-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=185453
2002-10-24 15:47:09 +00:00
Luboš Luňák
4304971dfd Fix #22189.
CCMAIL: 22189-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=185452
2002-10-24 15:39:36 +00:00
Luboš Luňák
a6304cef72 Fix #30506 by handling the desktop and sticky flag together. The is_sticky
flag should go, desk == OnAllDesktops should be the same.

svn path=/trunk/kdebase/kwin/; revision=185277
2002-10-23 15:52:18 +00:00
Luboš Luňák
a5e9e177c0 Back to qt_window_role (KWin really shouldn't use Qt's internals :( ).
svn path=/trunk/kdebase/kwin/; revision=185265
2002-10-23 14:38:10 +00:00
Dirk Mueller
9e670223b9 remove debug output I accidentally committed and fix the class documentation
svn path=/trunk/kdebase/kwin/; revision=185193
2002-10-22 20:41:49 +00:00
Dirk Mueller
cb1c1ca86d argh, bloody Qt!!!
they renamed the internal variable we're using here :-)

svn path=/trunk/kdebase/kwin/; revision=185172
2002-10-22 18:17:44 +00:00
Luboš Luňák
9711f8b576 Workaround for stupid xv not setting WM_CLASS correctly.
svn path=/trunk/kdebase/kwin/; revision=185132
2002-10-22 11:57:43 +00:00
Luboš Luňák
5aaf02f39f Oh boy, was I really so stupid to make assumptions based on what xv does?
svn path=/trunk/kdebase/kwin/; revision=184487
2002-10-18 13:25:19 +00:00
Luboš Luňák
a508895993 Damn, I hate keeping BC in an application.
svn path=/trunk/kdebase/kwin/; revision=184470
2002-10-18 11:13:30 +00:00
Luboš Luňák
a8f13c1c9b X resource name is the same for all app's windows, X resource class may
differ for the same app.
David says the correct spelling is 'faux pas' :).

svn path=/trunk/kdebase/kwin/; revision=184347
2002-10-17 14:48:34 +00:00
Luboš Luňák
9003c81c4b Only added a comment.
svn path=/trunk/kdebase/kwin/; revision=181849
2002-10-03 10:04:10 +00:00
Luboš Luňák
1a598b9bc0 Fix #33146 - don't create KNotify events e.g. for toplevel menubar.
Introduced Client::isDialog() and Client::isNormalWindow() checking
for NET::Dialog and NET::Normal, including NET::Unknown and workaround
for Qt<3.1 not setting NET::Dialog.

svn path=/trunk/kdebase/kwin/; revision=181308
2002-09-30 13:32:58 +00:00
Luboš Luňák
c8c79c3a02 Don't fix the window position if it will be placed using a placement policy.
svn path=/trunk/kdebase/kwin/; revision=181274
2002-09-30 12:00:08 +00:00
Luboš Luňák
826765b1df Don't remove focus from an auto-shaded window. That's the focus policy's
job to do it if it wants.

svn path=/trunk/kdebase/kwin/; revision=181231
2002-09-30 09:34:54 +00:00
Michael Brade
13a6aebdb3 Fixed "KNotes not movable with LMB", ok'ed by Lubos.
@@ -3011,7 +3011,7 @@ bool Client::isMovable() const
 {
     return may_move &&
         ( windowType() == NET::Normal || windowType() == NET::Dialog || windowType() == NET::Toolbar
-            || windowType() == NET::Menu ) &&
+            || windowType() == NET::Menu || windowType() == NET::Override ) &&
         ( !isMaximized() || ( options->moveResizeMaximizedWindows || max_mode != MaximizeFull ) );
 }

svn path=/trunk/kdebase/kwin/; revision=180738
2002-09-27 18:21:45 +00:00
Luboš Luňák
4c9d70a011 Fix #34085.
svn path=/trunk/kdebase/kwin/; revision=180512
2002-09-26 11:56:21 +00:00
Luboš Luňák
827740d489 Fix #47239 - if the window has specified resize increments, don't
remove left/right border for it when it's maximized, that would resize the window

svn path=/trunk/kdebase/kwin/; revision=180151
2002-09-24 17:18:02 +00:00
Aaron J. Seigo
afc58ef42e wrong event raised on shading, bug #21417
-        Events::raise( s ? Events::ShadeDown : Events::ShadeUp );
+        Events::raise( s ? Events::ShadeUp : Events::ShadeDown );

svn path=/trunk/kdebase/kwin/; revision=179541
2002-09-22 03:31:12 +00:00
Matthias Ettrich
251c8ec906 disable the close icon (rather than not-checking it!) on non-closeable
windows. Make toolbars closeable by default (I really love to be able
to close kpager again)

svn path=/trunk/kdebase/kwin/; revision=178978
2002-09-19 17:22:31 +00:00
Luboš Luňák
20f980dff7 Make sure also dialogs are not placed under toplevel menubar or
Kicker at the top edge.

svn path=/trunk/kdebase/kwin/; revision=177159
2002-09-11 13:02:54 +00:00
Matthias Ettrich
7a9e7dbb24 WM applet fixes: ignore withdrawn windows on a few more places, and (slightly hacky)
set the skip-taskbar NETWM hin on windows that have an initial_state of WithDrawn

svn path=/trunk/kdebase/kwin/; revision=176459
2002-09-08 15:45:26 +00:00
Matthias Ettrich
e579db0c68 better fix for the click-raise problem (one that actually keeps the taskbar functional...)
svn path=/trunk/kdebase/kwin/; revision=176420
2002-09-08 12:57:41 +00:00
Matthias Ettrich
b301468a80 in takeFocus, do not suppress the activation of dock windows when
those are not stays on top

svn path=/trunk/kdebase/kwin/; revision=176411
2002-09-08 12:09:55 +00:00
Luboš Luňák
3d3c5fa658 Fix #47434 .
svn path=/trunk/kdebase/kwin/; revision=175815
2002-09-05 07:57:53 +00:00
Luboš Luňák
3b57952b03 Take care of #46042. [...resisted to say here something about Motif >;> ]
svn path=/trunk/kdebase/kwin/; revision=174310
2002-08-28 15:17:31 +00:00
Matthias Ettrich
9edf8b7563 Release the passive button grab for active inner windows, essentially
reverting the last two patches.

Releasing the grab was actually a _feature_, not a bug. This is
necessary to keep legacy applications running (e.g. some Motif apps).
Unfortunately a replayed mouse event sometimes is not the same as the
original event!

This has the other nice benefit that you can activate a window without
raising it by clicking onto the titlebar with LMB and use the window
without it being raised.

If this has problems with some new kicker behaviour, it's kicker that needs
to be adjusted, not kwin.

svn path=/trunk/kdebase/kwin/; revision=174276
2002-08-28 12:24:10 +00:00
John Firebaugh
94dda57f2c Fix for the fix: pass clicks for Activate actions when we are already active.
svn path=/trunk/kdebase/kwin/; revision=173645
2002-08-25 01:04:42 +00:00
John Firebaugh
944e892c9b Make sure active but not topmost windows get raised appropriately on inner-
window clicks.

CCMAIL:45021-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=173636
2002-08-24 22:03:49 +00:00
Luboš Luňák
0714a8d003 Get rid of client_popup, as (not) discussed on kwin@.
This patch should fix such interesting things like closing the toplevel
menubar with Alt+F4 or moving Kicker to a different desktop using
keyboard shortcuts.

svn path=/trunk/kdebase/kwin/; revision=170646
2002-08-06 07:45:29 +00:00
Luboš Luňák
487f30a4ec Some fixes for the NET::TopMenu/NET::Menu hack.
svn path=/trunk/kdebase/kwin/; revision=168742
2002-07-25 20:08:09 +00:00
Luboš Luňák
a815fc2f6e It wasn't an over-optimization, there was just a small bug elsewhere.
svn path=/trunk/kdebase/kwin/; revision=168568
2002-07-24 19:46:20 +00:00
Karol Szwed
7c72db2685 Make the mouse cursor change again when resizing or hovering over the window border
by removing an over-optimisation.

svn path=/trunk/kdebase/kwin/; revision=166431
2002-07-13 14:44:01 +00:00
Luboš Luňák
1fab5c76ce NET::Menu -> NET::TopMenu, and make NET::Menu mean what it is supposed to mean.
+ backward compatibility hack

svn path=/trunk/kdebase/kwin/; revision=165076
2002-07-05 20:05:22 +00:00
Luboš Luňák
6d7f113304 Implemented _NET_WM_MOVERESIZE.
Fixed some minor bugs with resizing.

svn path=/trunk/kdebase/kwin/; revision=165071
2002-07-05 20:00:02 +00:00
Cristian Tibirna
9b03ba50c2 CT: two new non-placement policies. No GUI config.
Edit kwinrc and use either of:

Placement=StupidlyCentered
Placement=StupidlyZeroCornered

and then, at a prompt:

dcop kwin KWinInterface reconfigure

svn path=/trunk/kdebase/kwin/; revision=163755
2002-06-29 06:31:33 +00:00
Anders Widell
f1638b1238 Fixed null pointer segfault
svn path=/trunk/kdebase/kwin/; revision=158475
2002-05-29 19:11:01 +00:00