Commit graph

1129 commits

Author SHA1 Message Date
Waldo Bastian
7d5e50bab8 Tune electric borders...
svn path=/trunk/kdebase/kwin/; revision=113523
2001-09-06 19:44:06 +00:00
Matthias Ettrich
827e9b92be completed fullscreen fix
svn path=/trunk/kdebase/kwin/; revision=113471
2001-09-06 09:21:19 +00:00
Matthias Ettrich
87d25e94c5 include desktop widgets
svn path=/trunk/kdebase/kwin/; revision=113438
2001-09-05 20:48:16 +00:00
Matthias Ettrich
9388aeba3d fixed maximization handling
svn path=/trunk/kdebase/kwin/; revision=113436
2001-09-05 20:40:04 +00:00
Dirk Mueller
df7c4fb8b6 kdesktopwidget -> qdesktopwidget
svn path=/trunk/kdebase/kwin/; revision=112863
2001-09-01 12:52:41 +00:00
Waldo Bastian
83cbfe3acb Window follows mind^H^H^H^Hdesktop.
svn path=/trunk/kdebase/kwin/; revision=112163
2001-08-27 23:56:15 +00:00
Stephan Binner
21a2a14edd Fix Konsole transparent background problems when window is sticky or sent to other desktop (#24178)
svn path=/trunk/kdebase/kwin/; revision=112136
2001-08-27 21:02:33 +00:00
Waldo Bastian
aedc59bde7 Ported from KDE 1.1.2: Electric Borders are back!
svn path=/trunk/kdebase/kwin/; revision=112025
2001-08-27 05:42:32 +00:00
Simon Hausmann
c8f1508b36 - moved netwm.h inclusions after indirect qvariant.h inclusions
(fixes Bool clash)
- missing includes (qcursor,qstyle,qpainter,qvaluelist)
- minor qstyle api fixlet

svn path=/trunk/kdebase/kwin/; revision=110958
2001-08-18 23:06:16 +00:00
Matthias Ettrich
bb34fb1c55 fixed hanging keyboard in CDE-style Alt-Tab
svn path=/trunk/kdebase/kwin/; revision=109474
2001-08-07 11:15:12 +00:00
Waldo Bastian
d07cce76b9 Less debug output
svn path=/trunk/kdebase/kwin/; revision=108939
2001-08-02 18:31:37 +00:00
Matthias Ettrich
6847f73526 cleaned grabbing up a bit
svn path=/trunk/kdebase/kwin/; revision=107986
2001-07-27 12:48:30 +00:00
Ellis Whitehead
c06084d21b Make switching box disappear on mouse click, and release keyboard and pointer grabs.
Before, a mouse-click would cause a partial lock-up (global shortcuts could still be activated).

svn path=/trunk/kdebase/kwin/; revision=105788
2001-07-12 17:16:04 +00:00
Matthias Ettrich
a325dd9966 make focusEnsurance() multi-screen capable (at least I hope it works this
way)

svn path=/trunk/kdebase/kwin/; revision=105769
2001-07-12 13:50:19 +00:00
Ellis Whitehead
24ede41380 Make sure that Window/Desktop popup (e.g. Alt+Tab) isn't shown if modifier key has already been released before switch is processed.
svn path=/trunk/kdebase/kwin/; revision=105392
2001-07-09 03:10:16 +00:00
Ellis Whitehead
3e604d14b0 Remove "Window iconify all" since we now how "Toggle Show Desktop".
Index: kwinbindings.cpp
===================================================================
RCS file: /home/kde/kdebase/kwin/kwinbindings.cpp,v
retrieving revision 1.24
diff -u -3 -d -p -r1.24 kwinbindings.cpp
--- kwinbindings.cpp	2001/06/26 23:30:52	1.24
+++ kwinbindings.cpp	2001/06/29 04:29:14
@@ -22,7 +22,7 @@
  keys->insertItem(i18n("Window Maximize Vertical"), "Window maximize vertical", KKey(), KKey("Meta+Bar"));
  keys->insertItem(i18n("Window Maximize Horizontal"), "Window maximize horizontal", KKey(), KKey("Meta+Equal"));
  keys->insertItem(i18n("Window Iconify"), "Window iconify", KKey(), KKey("Meta+Minus"));
- keys->insertItem(i18n("Window Iconify (All)"), "Window iconify all", KKey(), KKey("Meta+Ctrl+Minus"));
+ //keys->insertItem(i18n("Window Iconify (All)"), "Window iconify all", KKey(), KKey("Meta+Ctrl+Minus"));
  keys->insertItem(i18n("Window Shade"), "Window shade", KKey(), KKey("Meta+Underscore"));
  keys->insertItem(i18n("Window Move"), "Window move", 0);
  keys->insertItem(i18n("Window Resize"), "Window resize", 0);
@@ -113,6 +113,6 @@ This belongs in taskbar rather than here
 #endif
  keys->insertItem(i18n("Mouse Emulation"), "Mouse emulation", KKey("ALT+F12"), KKey());
  keys->insertItem(i18n("Kill Window"), "Kill Window", KKey("CTRL+ALT+Escape"), KKey("Meta+Ctrl+Delete"));
- keys->insertItem(i18n("Window Screenshot"), "Screenshot of active window", KKey("Print"), KKey());
- keys->insertItem(i18n("Desktop Screenshot"), "Screenshot of desktop", KKey("CTRL+PrtSc"), KKey());
+ keys->insertItem(i18n("Window Screenshot"), "Screenshot of active window", KKey("Print"), KKey("Alt+Print"));
+ keys->insertItem(i18n("Desktop Screenshot"), "Screenshot of desktop", KKey("CTRL+Print"), KKey("Meta+Print"));

Index: workspace.cpp
===================================================================
RCS file: /home/kde/kdebase/kwin/workspace.cpp,v
retrieving revision 1.263
diff -u -3 -d -p -r1.263 workspace.cpp
--- workspace.cpp	2001/06/29 00:16:26	1.263
+++ workspace.cpp	2001/06/29 04:29:24
@@ -2553,7 +2553,7 @@ void Workspace::createKeybindings(){
     keys->connectItem( "Window maximize horizontal", this, SLOT( slotWindowMaximizeHorizontal() ) );
     keys->connectItem( "Window maximize vertical", this, SLOT( slotWindowMaximizeVertical() ) );
     keys->connectItem( "Window iconify", this, SLOT( slotWindowIconify() ) );
-    keys->connectItem( "Window iconify all", this, SLOT( slotWindowIconifyAll() ) );
+    //keys->connectItem( "Window iconify all", this, SLOT( slotWindowIconifyAll() ) );
     keys->connectItem( "Window shade", this, SLOT( slotWindowShade() ) );
     keys->connectItem( "Window move", this, SLOT( slotWindowMove() ) );
     keys->connectItem( "Window resize", this, SLOT( slotWindowResize() ) );
@@ -2744,6 +2744,7 @@ void Workspace::slotWindowIconify()
     performWindowOperation( popup_client, Options::IconifyOp );
 }

+// This should probably be removed now that there is a "Show Desktop" binding.
 void Workspace::slotWindowIconifyAll()
 {
     int iDesktop = currentDesktop();

svn path=/trunk/kdebase/kwin/; revision=104351
2001-06-29 04:30:25 +00:00
Richard J. Moore
649c822bc2 Include window frame when grabbing snapshots
svn path=/trunk/kdebase/kwin/; revision=104328
2001-06-29 00:16:26 +00:00
Richard J. Moore
2cd059894a Window grabbing stuff for linuxtag
svn path=/trunk/kdebase/kwin/; revision=104070
2001-06-26 23:30:52 +00:00
Matthias Ettrich
ab5b07786a more alt-tab hanging fixes. Requires update in libkdecore/kglobalaccel.cpp
svn path=/trunk/kdebase/kwin/; revision=103034
2001-06-19 15:05:03 +00:00
Matthias Ettrich
6413e1dd8f Fixed hanging Alt-Tab under heavy load (Part II, first part was in
kdelibs/kdecore/kglobalaccel.cpp)

svn path=/trunk/kdebase/kwin/; revision=102912
2001-06-18 20:18:32 +00:00
Ellis Whitehead
c77c63a6d3 Forgot to connect.
===================================================================
RCS file: /home/kde/kdebase/kwin/workspace.cpp,v
retrieving revision 1.258
diff -u -3 -d -p -r1.258 workspace.cpp
--- workspace.cpp	2001/06/13 15:47:54	1.258
+++ workspace.cpp	2001/06/13 18:46:54
@@ -2562,6 +2562,8 @@ void Workspace::createKeybindings(){

     keys->connectItem( "Walk through desktops", this, SLOT( slotWalkThroughDesktops()));
     keys->connectItem( "Walk back through desktops", this, SLOT( slotWalkBackThroughDesktops()));
+    keys->connectItem( "Walk through desktop list", this, SLOT( slotWalkThroughDesktopList()));
+    keys->connectItem( "Walk back through desktop list", this, SLOT( slotWalkBackThroughDesktopList()));
     keys->connectItem( "Walk through windows",this, SLOT( slotWalkThroughWindows()));
     keys->connectItem( "Walk back through windows",this, SLOT( slotWalkBackThroughWindows()));

@@ -2571,6 +2573,8 @@ void Workspace::createKeybindings(){
     keys->readSettings();
     walkThroughDesktopsKeycode = keys->currentKey( "Walk through desktops" );
     walkBackThroughDesktopsKeycode = keys->currentKey( "Walk back through desktops" );
+    walkThroughDesktopListKeycode = keys->currentKey( "Walk through desktop list" );
+    walkBackThroughDesktopListKeycode = keys->currentKey( "Walk back through desktop list" );
     walkThroughWindowsKeycode = keys->currentKey( "Walk through windows" );
     walkBackThroughWindowsKeycode = keys->currentKey( "Walk back through windows" );
 }

svn path=/trunk/kdebase/kwin/; revision=101992
2001-06-13 18:48:23 +00:00
Luboš Luňák
0827825fcb Use debug area for the debug info.
Explicitly note in the headers that the classes have to keep BC ( after KDE2.2 ).
Fixed index in walking through desktops.

svn path=/trunk/kdebase/kwin/; revision=101972
2001-06-13 15:47:54 +00:00
Ellis Whitehead
9e0653455e kdebase/kcontrol/keys/: add ability to separate between 'normal' shortcuts and a shortcut series
kdebase/kwin/tabbox: allow for choosing between switching between desktops in focus order versus numeric order.

kdebase/kwin/workspace: add key bindings for focus-order-desktop-walking and sending a window to a specific desktop.

*bindings.cpp: add labels for kcontrol

svn path=/trunk/kdebase/kwin/; revision=101281
2001-06-10 04:10:42 +00:00
Malte Starostik
f8c8380275 Expose int currentDesktop() const via DCOP
and added void nextDesktop() and void previousDesktop(), also available
via DCOP.
This makes it possible to use KGesture to cycle through desktops :)

svn path=/trunk/kdebase/kwin/; revision=101071
2001-06-09 05:00:46 +00:00
Ellis Whitehead
a9c55776ae KAccel: allow for 4-modifier setup defaults, check whether Qt supports the
Meta key.

KGlobalAccel: improve X key ungrabbing for key map changes.

KKeyDialog: Allow caller to specify whether normal keys (i.e., 'A', 'B') can
be used as shortcuts and whether the Meta key can be used in a shortcut.

KeyConfog: Add support for a second default configuration. Add support for a
user with a Meta key not to default to 4-modifier setup (not yet working
completely).

Workspace: Added 'Window iconify all'.  Still speed work -- best might be to
merge this with 'Show Desktop'

kcontrol/keys/main.cpp: a bit of capitalization

kcontrol/kwm/mouse, kwin/client, kwin/options: Let user use Meta key for
window resizing/moving/etc

*bindings.cpp: add 4-modifier setup defaults

svn path=/trunk/kdebase/kcontrol/; revision=100877
2001-06-07 18:17:24 +00:00
Karol Szwed
9c0f71e601 Making reconfigure() timer buffered so that we don't get flooded with
too many reconfigure events at once, which would re-client all windows
multiple times and cause lots of ugly flicker.

svn path=/trunk/kdebase/kwin/; revision=100375
2001-06-04 14:01:00 +00:00
Ellis Whitehead
e2b6a56386 Compared a Qt key code to an X key code and lost the ability to use Escape
to abort switch between programs/desktops mode.  Fixed.

svn path=/trunk/kdebase/kwin/; revision=100319
2001-06-04 06:43:31 +00:00
Ellis Whitehead
b4a70d38fe A couple simplifications in the Program/Desktop switching routine.
svn path=/trunk/kdebase/kwin/; revision=100272
2001-06-03 22:29:12 +00:00
Dirk Mueller
5a49a411dd whoops, restoring binary compatibility in case we want it (SC was given)
svn path=/trunk/kdebase/kwin/; revision=100140
2001-06-03 09:30:19 +00:00
Dirk Mueller
8e8dce5e64 Xinerama support, patch by Balaji Ramani <balaji@spinnakernet.com>
svn path=/trunk/kdebase/kwin/; revision=100136
2001-06-03 09:04:03 +00:00
Ellis Whitehead
1a3f866309 When switching between programs, Workspace was calling KGlobalAccel::setEnabled(false) and then KGlobalAccel::setEnabled(true), causing hundreds of XGrabKey and XUngrabKey calls. This problem was multiplied by four times by mods i made to KGlobalAccel allowing it to ignore the ModeSwitch and ScrollLock keys. The sluggishness became apparent, so now it calls KGlobalAccel::setKeyEventEnabled( bool ), which merely disables processing, rather than changing any X-server behavior. Much faster.
svn path=/trunk/kdebase/kwin/; revision=99589
2001-05-31 06:22:52 +00:00
Luboš Luňák
0603cb240d 'Logout' and 'Lock screen' keybindings don't really belong to kwin, they
belong to kdesktop.

svn path=/trunk/kdebase/kwin/; revision=99466
2001-05-30 13:23:53 +00:00
Helge Deller
6536d083a0 added global "Lock Screen" key-binding (CTRL-ALT-L)
svn path=/trunk/kdebase/kwin/; revision=99436
2001-05-30 10:31:03 +00:00
Ellis Whitehead
03d449b0b8 Add flag for working with Meta-key
svn path=/trunk/kdebase/kcontrol/; revision=99403
2001-05-30 05:57:16 +00:00
Luboš Luňák
322eaa8daa Use the new app startup info stuff to implement start_on_desktop.
svn path=/trunk/kdebase/kwin/; revision=98620
2001-05-24 21:01:09 +00:00
Luboš Luňák
10672210ae Better focus handling when sending windows to other desktops.
svn path=/trunk/kdebase/kwin/; revision=98455
2001-05-23 20:39:28 +00:00
Dirk Mueller
e3766f1c3b Xinerama support (patch by Balaji Ramani <balaji@spinnakernet.com>)
svn path=/trunk/kdebase/kwin/; revision=96584
2001-05-12 00:33:43 +00:00
Henrik Johnson
10baa96bc7 Add key bindings to move current window to next/previous desktop
svn path=/trunk/kdebase/kwin/; revision=96538
2001-05-11 21:38:00 +00:00
Carsten Pfeiffer
3e28074e23 Configure WindowManager
svn path=/trunk/kdebase/kwin/; revision=96232
2001-05-10 17:54:57 +00:00
Luboš Luňák
1034a53451 Make KWinModule::activeWindowChanged() emit with 0 when there's no window
active - no need to try to focus windows that don't accept it anyway unless
forced to.

svn path=/trunk/kdebase/kwin/; revision=96046
2001-05-09 20:06:46 +00:00
Martijn Klingens
c0d943b01a Added some icons to the popup menus
svn path=/trunk/kdebase/kwin/; revision=95333
2001-05-05 18:28:41 +00:00
Luboš Luňák
e0dbc88040 Implemented NET::SkipPager in kwin, kpager, the pager applet and kstart.
Not that I really understand why's there both SkipTaskbar and SkipPager ...

svn path=/trunk/kdebase/kwin/; revision=94832
2001-05-02 20:37:30 +00:00
Matthias Ettrich
d9a7551774 window snapping for all windows, including dialogs (suggestion by Melchior Franz)
svn path=/trunk/kdebase/kwin/; revision=93936
2001-04-25 16:15:54 +00:00
Waldo Bastian
42291d5b87 Make Workspace a singleton, accesible via Workspace::self()
svn path=/trunk/kdebase/kwin/; revision=93375
2001-04-22 06:51:07 +00:00
Waldo Bastian
57f4808d0f Make resource management in clients easier with these three functions:
init() called after client got loaded
deinit() called when client is about to get unloaded
reset() called once before Options::resetClients() is emitted

svn path=/trunk/kdebase/kwin/; revision=93372
2001-04-22 05:39:17 +00:00
Daniel Molkentin
5c63088d15 - popup->insertItem(i18n("&Decoration"), deco );
+       // danimo: Tackat says: use kcontrol!
+       // Will remove the stuff behind later
+       // popup->insertItem(i18n("&Decoration"), deco );

svn path=/trunk/kdebase/kwin/; revision=92401
2001-04-16 22:03:28 +00:00
Luboš Luňák
18d2c93cea Added private data pointer members to classes which might be accessed
by style plugins ( KWin has to keep BC for these ). I hope these are
all classes that need it.
And of course, this change is not binary compatible, but it fortunately
doesn't matter much for KWin these days.

svn path=/trunk/kdebase/kwin/; revision=90127
2001-04-03 14:40:34 +00:00
Luboš Luňák
d194f74314 Reduce wallpaper repaints during desktop switching.
svn path=/trunk/kdebase/kwin/; revision=90111
2001-04-03 12:50:32 +00:00
Luboš Luňák
6261311a69 I think I've finally found the right place for the propagateClients() call.
Now KWinModule will emit windowAdded() after all properties are set
correctly, but still before activeWindowChanged().
If it breaks something, beat me.

svn path=/trunk/kdebase/kwin/; revision=90016
2001-04-02 22:12:54 +00:00
Adriaan de Groot
2b0e89325f Added window raise-or-lower
svn path=/trunk/kdebase/kwin/; revision=89959
2001-04-02 16:17:06 +00:00
Leon Bottou
715dcc3beb Workspace::storeLegacySession() now uses kwin_time.
svn path=/trunk/kdebase/kwin/; revision=89469
2001-03-30 19:37:40 +00:00
Luboš Luňák
c125639ccb Make KWinModule first emit windowAdded(), then activeWindowChanged().
svn path=/trunk/kdebase/kwin/; revision=89414
2001-03-30 11:50:22 +00:00
Luboš Luňák
4c03fa5c6f Less flickering when switching virt. desktops.
svn path=/trunk/kdebase/kwin/; revision=89410
2001-03-30 11:15:15 +00:00
Matthias Ettrich
9547820ecc re-enabled the nice feature that Alt-Tab and Ctrl-Tab won't do anything
if there are popup windows open (that is, if we cannot obtain a mouse pointer
grab). Avoids "hanging" Window or Desktop boxes.

This broke when the (otherwise very nice) transition to KGlobalAccel was
introduced.

svn path=/trunk/kdebase/kwin/; revision=89105
2001-03-28 12:44:31 +00:00
Karol Szwed
fe44db9631 Added a dcop signal "dcopResetAllClients()" to allow other apps to be notified
when the user has changed the current kwin client decoration via the titlebar.

svn path=/trunk/kdebase/kwin/; revision=88294
2001-03-23 09:28:40 +00:00
Leon Bottou
41e4bffe40 Removed possibility of X errors in the Client::staticXXXX() functions.
Cosmetic changes to Workspace::storeLegacySession().

svn path=/trunk/kdebase/kwin/; revision=87983
2001-03-20 20:48:40 +00:00
Luboš Luňák
944967a8e1 Made Alt+Tab , Ctrl+Tab configurable. Also added in kcontrol module missing option
to make Alt+Tab to go either through all windows or only the ones on the current
desktop. If you get keyboard lock-ups because of this, yell.
I wonder how many bugreports I will be able to close because of this :).

svn path=/trunk/kdebase/kwin/; revision=87801
2001-03-19 20:05:36 +00:00
Matthias Ettrich
9b24d884bf legacy session management support (WM_COMMAND) for emacs-lovers.
Many thanks to Leon Bottou <leonb@research.att.com> for this one.

svn path=/trunk/kdebase/kwin/; revision=87737
2001-03-19 15:35:07 +00:00
George Staikos
a888d424c6 The new refresh code. This will refresh the entire desktop for you,
background, icons and windows!

svn path=/trunk/kdebase/kwin/; revision=86920
2001-03-14 10:16:08 +00:00
Matthias Ettrich
11f1ab2b60 reduce the number of X-errors. Thanks to Lars Hete for this one.
svn path=/trunk/kdebase/kwin/; revision=86918
2001-03-14 09:21:16 +00:00
Luboš Luňák
8b6478aeda Applying #19154 ( together with #19158 fixes #13794 #17915 #17698 )
svn path=/trunk/kdebase/kwin/; revision=86664
2001-03-12 21:32:13 +00:00
Matthias Ettrich
33c69f053c small activation state fix (thanks to Simon Hausmann for the bugreport)
svn path=/trunk/kdebase/kwin/; revision=86636
2001-03-12 18:03:17 +00:00
Wilco Greven
8e8341d6ec GUI: Resolve conflicting accelerators. Fixes #20579. I assigned r as
accelerator for "Store settings" instead of t which was already used by
     "To Desktop".

svn path=/trunk/kdebase/kwin/; revision=84957
2001-03-02 10:35:25 +00:00
Waldo Bastian
d577f604e2 It's slashdot feature request time!
+       HMaximizeOp,
+       VMaximizeOp,
+       LowerOp,

svn path=/trunk/kdebase/kwin/; revision=84551
2001-02-27 07:19:52 +00:00
Matthias Elter
c48346551b Patch by Matthias Ettrich:
Changing the focus policy does not reset all client styles.

svn path=/trunk/kdebase/kwin/; revision=83927
2001-02-21 18:29:24 +00:00
Waldo Bastian
2f90225543 Put stuff in KWinInternal namespace.
Export client.h, workspace.h and options.h so that people can write plugins.

svn path=/trunk/kdebase/kwin/; revision=83707
2001-02-20 01:20:38 +00:00
Cristian Tibirna
5db5950bc1 CT: kill off-by-one bug in smart placement. Thanks to Michael Driscoll for
bug report, bug analysis and patch review.

svn path=/trunk/kdebase/kwin/; revision=83151
2001-02-16 18:05:27 +00:00
David Faure
f14bbd47a4 - area = QApplication::desktop()->geometry();
+    area = QRect( 0, 0, 0, 0 ); // bogus value so that updateClientArea does the right thing
This fixes the icons being put on the topleft corner on startup.
updateClientArea wasn't setting the values in NETWM because it didn't detect
a change (until kicker started).

svn path=/trunk/kdebase/kwin/; revision=82160
2001-02-10 00:27:26 +00:00
bhughes
7a9862f4ee multihead in kdebase
svn path=/trunk/kdebase/kcontrol/; revision=81587
2001-02-06 18:32:07 +00:00
Matthias Ettrich
f788868318 fixed focus problems with qt-2.2.4 (see separate mail on kde-core-devel)
svn path=/trunk/kdebase/kwin/; revision=81151
2001-02-03 12:30:46 +00:00
Matthias Ettrich
3deaa52496 cooperate with qt-2.2.4 (the deadkey popup fix) and qt-copy.
Don't update the frame decoration if it didn't change, I don't want
flicker when changing the focus policy.

svn path=/trunk/kdebase/kwin/; revision=80891
2001-02-01 01:13:44 +00:00
Matthias Ettrich
8ba06abb33 loadFakeSessionInfo() in initialization
svn path=/trunk/kdebase/kwin/; revision=80299
2001-01-27 19:24:15 +00:00
Waldo Bastian
03fc02caf3 Delay resetting client decorations a bit in some cases, maybe we have to do
it anyway later on in which case we can save some flicker & CPU by doing it
only once.

svn path=/trunk/kdebase/kwin/; revision=80040
2001-01-25 19:17:17 +00:00
Matthias Ettrich
d2e0e0529b disabled the special treatment of system-tray parents for iconify()
Reason: it didn't work. This is the least intrusive and cleanest fix for it.

svn path=/trunk/kdebase/kwin/; revision=79884
2001-01-24 16:47:44 +00:00
Rik Hemsley
5198b0b270 Don't change maximise mode of windows when resetting
svn path=/trunk/kdebase/kwin/; revision=79285
2001-01-20 21:03:12 +00:00
Waldo Bastian
8190667206 Let reconfigure() reparse plugin setting.
svn path=/trunk/kdebase/kwin/; revision=78491
2001-01-16 23:54:45 +00:00
Matthias Ettrich
e9d30a20d7 Balaji Ramani <balaji@spinnakernet.com>: shadeHover support
GUI: new operation popup item: "Store Settings"

svn path=/trunk/kdebase/kwin/; revision=78043
2001-01-14 20:16:04 +00:00
Matthias Elter
e048421030 Workspace::activateClient does not flicker any more now.
The problem was that when switching to a window on a different desktop via the taskbar setCurrentDesktop made a different window active for a second.

svn path=/trunk/kdebase/kwin/; revision=77821
2001-01-13 14:57:16 +00:00
bhughes
96c420e927 kwin supports a good chunk of the NETWM spec... let's report it
svn path=/trunk/kdebase/kwin/; revision=77691
2001-01-12 19:44:40 +00:00
Matthias Ettrich
33f78a855b some more keybindings
less race conditions with map/unmap thanks to BlackboxTechnology(tm)

svn path=/trunk/kdebase/kwin/; revision=77544
2001-01-11 23:41:07 +00:00
Matthias Ettrich
a189cb2c45 some attempt for dirk
svn path=/trunk/kdebase/kwin/; revision=76503
2001-01-05 18:28:24 +00:00
Waldo Bastian
f21e0fd688 Send notifications on desktop changes.
svn path=/trunk/kdebase/kwin/; revision=75432
2000-12-21 21:04:52 +00:00
Cristian Tibirna
37ef0caae2 CT: handle Control-Tab at run time, not only at start time. This should
silence a few bug reports from Emacs users

svn path=/trunk/kdebase/kwin/; revision=75146
2000-12-17 21:57:52 +00:00
Dirk Mueller
bd3140b6b7 try not to place windows behind always on top windows in smart
placement code. Fix found by Cristian Tibirna

svn path=/trunk/kdebase/kwin/; revision=75050
2000-12-17 03:23:34 +00:00
Matthias Ettrich
c1eac4d5d0 hopefully less frame drawing
svn path=/trunk/kdebase/kwin/; revision=74802
2000-12-14 11:35:12 +00:00
Matthias Ettrich
2d401d3acc more netwm details
svn path=/trunk/kdebase/kwin/; revision=71162
2000-11-17 16:39:47 +00:00
Matthias Ettrich
258a7be78a make kwin adjust to shape changes
svn path=/trunk/kdebase/kwin/; revision=71049
2000-11-16 19:08:05 +00:00
Matthias Ettrich
8dde856133 small fix for >= 10 desktops (thanks to Keunwoo Lee)
svn path=/trunk/kdebase/kwin/; revision=70816
2000-11-14 14:12:54 +00:00
Richard J. Moore
99fa5f16ed Added a new method to the DCOP interface that displays the window menu
for a specified WId.

svn path=/trunk/kdebase/kwin/; revision=70680
2000-11-12 20:25:21 +00:00
Alexander Neundorf
285841c790 some minor changes in adjustClientPos(), so that the flag set via the
new checkbox in the control center is honored

alex

svn path=/trunk/kdebase/kwin/; revision=69737
2000-11-02 18:15:39 +00:00
Alexander Neundorf
ac87507e17 And here we go, now we have to snapping styles in kwin, the classic
"magnetic" style and the new "barrier" style.
To enable the new style insert MagneticBorders=off in your kwinrc.
The gui for the control center will follow the next days.
Anybody a good idea how to call it ?
Two radiobuttons, one "Magnetic borders", the other one "Barrier Borders" ?

Alex

svn path=/trunk/kdebase/kwin/; revision=69692
2000-11-02 08:33:00 +00:00
Matthias Ettrich
25c292f3a1 removed sticky again.
"sticky" is the wrong term. In order to make it easier to combine
different window managers, we removed it. In the NET specs, sticky
means something entirely different.

What you want is "On All Desktops" and it's already available in
the menu under ToDesktop->AllDesktops

svn path=/trunk/kdebase/kwin/; revision=69381
2000-10-30 09:58:08 +00:00
Wilco Greven
2e93aab89b GUI Add 'Sticky' to the window operations menu.
svn path=/trunk/kdebase/kwin/; revision=69290
2000-10-29 14:06:12 +00:00
Matthias Ettrich
7d5ac3a25e more configurability - thanks to David Pittman
svn path=/trunk/kdebase/kwin/; revision=68922
2000-10-26 09:38:09 +00:00
Matthias Ettrich
2d59aac1c8 small fix for mac menu when using focus follows mouse (even though this
combination does not make sense at all)

svn path=/trunk/kdebase/kwin/; revision=68919
2000-10-26 08:26:05 +00:00
Waldo Bastian
b1d63a2951 WABA: Move null-focus window to (-1,-1)
Ahhhh, the whole screen feels bigger now.

svn path=/trunk/kdebase/kwin/; revision=68889
2000-10-25 20:16:56 +00:00
Matthias Ettrich
a74ed42f17 make "doNotManage" work with regular expressions as advertised. Otherwise,
kstart does not work properly (see thread on kde-devel)

svn path=/trunk/kdebase/kwin/; revision=68106
2000-10-17 15:55:40 +00:00
Matthias Ettrich
0b4ba11c29 removed debug out, small fix for mac menu
svn path=/trunk/kdebase/kwin/; revision=68088
2000-10-17 13:09:59 +00:00
Matthias Ettrich
8ba0c8171f fixed unmanaged windows on subsquent desktop switches
svn path=/trunk/kdebase/kwin/; revision=68087
2000-10-17 12:51:39 +00:00
Matthias Ettrich
1266db9901 fixed transient_for handling for embedded main windows
Patch reviewed by Lars.

svn path=/trunk/kdebase/kwin/; revision=67756
2000-10-15 14:19:15 +00:00
Matthias Ettrich
a0b6bdb956 don't minimize dialog boxes that have a managed parent.
Unify operation menu enabled settings with visible decorations.

svn path=/trunk/kdebase/kwin/; revision=67486
2000-10-13 15:37:07 +00:00
Matthias Ettrich
a2c3696df5 Removed startkde and exitkde events. They don't belong into kwin.
I remember that I removed those already some time ago. Somebody keeps
believing that KWin has something to do with a) KDE startup and b) KDE
Exit, grmbl.

This is not true, it's ksmserver who does this.

Unfortunatly I cannot remove the "logout" keybindings due to the translations.
It rather belongs into kdesktopbindings than kwinbindings.

Please, guys, kwin is a *window* manager, not a desktop (seems like a
neverending story...)

svn path=/trunk/kdebase/kwin/; revision=66503
2000-10-05 22:09:49 +00:00
Matthias Ettrich
cceeee466f Fixed GIMP-1.1 (and other applications) windows dissappearing magically
svn path=/trunk/kdebase/kwin/; revision=66379
2000-10-04 15:19:44 +00:00
Matthias Ettrich
bb80bc7507 Fixed focus for "Lower", made "ActivateAndLower" work, fixed
CDE-style Alt-tab in FocusUnderMouse mode (was broken with transient
windows)

svn path=/trunk/kdebase/kwin/; revision=66189
2000-10-02 12:02:15 +00:00
Matthias Ettrich
2dd48cfde3 cosmetic change to the positioning patch,
fix for xawtv fullscreen placement (discussed with Dirk Mueller)

svn path=/trunk/kdebase/kwin/; revision=65773
2000-09-29 15:54:18 +00:00
David Faure
972efcada8 Applied patch from Rik, approved by Matthias Ettrich and tested by me :)
It fixes the size of windows restored by session management.

svn path=/trunk/kdebase/kwin/; revision=65719
2000-09-29 10:06:38 +00:00
Matthias Ettrich
731d758eb7 small patch from Antonio
svn path=/trunk/kdebase/kwin/; revision=65622
2000-09-28 12:53:57 +00:00
Torben Weis
b6ed7aefb0 - avoid having modal dialogs below their main windows
- propagate actual stacking order (kpager should show stays-on-top windows
ontop)

svn path=/trunk/kdebase/kwin/; revision=65480
2000-09-27 12:21:04 +00:00
Matthias Ettrich
6dacbd0112 tool window handling for the default style
visible dialogs for stays-on-top fullscreen windows (helps with Konqueror's dialogs)
Fixed lock with Alt-Tab box plus accelerator

svn path=/trunk/kdebase/kwin/; revision=65241
2000-09-25 15:30:51 +00:00
Thomas Zander
e0e632dfdf Fixed a bug with window placement in smart mode where windows are to heigh.
They get placed nicely now.

svn path=/trunk/kdebase/kwin/; revision=65162
2000-09-25 09:23:04 +00:00
Thomas Zander
2ff8d44d50 Fixed problem with windows being to height to fit on screen. There position
is still calculated for optimal screen usage now. Formerly the window
was just placed top-left..

svn path=/trunk/kdebase/kwin/; revision=64956
2000-09-24 09:20:31 +00:00
Stephan Kulow
c4e41683d7 don't save default values if they are not yet written as defaults
svn path=/trunk/kdebase/kwin/; revision=64871
2000-09-23 21:54:37 +00:00
Matthias Ettrich
d3fe8c69ed more focusFollowsMind magic.
- if you minimize a window, it will be put to the end of the focus change
(technically, to the beginning, see the prepend() )

- if you switch desktop, sticky windows are ignored as long as there are
non-sticky windows in the change

- this does not happen if the sticky window is actually active. In that case it
remains active.

Patch tested by Christian Gebauer

svn path=/trunk/kdebase/kwin/; revision=64442
2000-09-19 18:57:15 +00:00
Waldo Bastian
1cc65aa20e WABA: Fixed memory leaks.
svn path=/trunk/kdebase/kwin/; revision=63827
2000-09-14 06:03:47 +00:00
Charles Samuels
fbc7c46935 Bleh #1
svn path=/trunk/kdebase/kwin/; revision=63811
2000-09-14 03:10:03 +00:00
Matthias Ettrich
10b2e5fde2 don't activate dock windows with click (fixes kicker focus problems,
reviewed by Carsten Peiffer)

svn path=/trunk/kdebase/kwin/; revision=63580
2000-09-11 20:54:00 +00:00
Waldo Bastian
1add59200c WABA: Fixes BR6808 and BR7983.
#6808: selecting a "Decoration" by right-clicking on a window de-iconify windows.
#7983: SHIP STOPPER: kwin - titlebars get <2> after the name of the application when changing decorations
Reviewed by gis.

svn path=/trunk/kdebase/kwin/; revision=63563
2000-09-11 18:59:26 +00:00
Matthias Ettrich
a309da9f0e "activate" event on every activation, not only on taskbar
svn path=/trunk/kdebase/kwin/; revision=62339
2000-08-31 17:29:10 +00:00
Matthias Ettrich
d53798aaf0 more sound effects
svn path=/trunk/kdebase/kwin/; revision=62336
2000-08-31 17:15:10 +00:00
Matthias Ettrich
bf33b067be - completed session management (maximize, shaded, and restore were missing)
- support for WM_COMMAND pseudo session management (xterm and friends)
- basic support for private colormaps, useful on the last remaining 8bit displays

svn path=/trunk/kdebase/kwin/; revision=62239
2000-08-30 14:27:30 +00:00
Kalle Dalheimer
87931a071a Added hotkeys for workspaces 9-16
Patch approved by Matthias Ettrich

svn path=/trunk/kdebase/kwin/; revision=62067
2000-08-28 06:16:34 +00:00
Matthias Ettrich
d0d3166d4a don't grab server during initialization, may result in freezes due to libkmapnotify
svn path=/trunk/kdebase/kwin/; revision=61614
2000-08-21 15:13:24 +00:00
Matthias Ettrich
078b8b3ff4 - make maximized windows
- adjust to workarea changes
	- not movable or resizable
	- not show vertical borders if not necessary

 - new default style: middle mouse and right mouse for maximize button

 - now resize mouse cursors if the window is not resizable

svn path=/trunk/kdebase/kwin/; revision=61240
2000-08-16 12:18:56 +00:00
Matthias Ettrich
5314dbb817 mosfet's much ligher version of the default style. Still flickers a little bit, but
uses much less resources

svn path=/trunk/kdebase/kwin/; revision=61022
2000-08-14 18:49:44 +00:00
Matthias Ettrich
3fccc94b5b react on key changes
svn path=/trunk/kdebase/kwin/; revision=61011
2000-08-14 16:45:45 +00:00
Matthias Ettrich
ba64395e9a removed debug output
svn path=/trunk/kdebase/kwin/; revision=60887
2000-08-13 17:26:18 +00:00
Matthias Ettrich
81bd6b26c3 some focus follows mouse stuff
svn path=/trunk/kdebase/kwin/; revision=60885
2000-08-13 17:07:26 +00:00
Matthias Ettrich
ffbe75dfba some bugfixes
svn path=/trunk/kdebase/kwin/; revision=60295
2000-08-09 10:02:56 +00:00
Matthias Ettrich
813ee80842 don't move fullscreen windows around
svn path=/trunk/kdebase/kwin/; revision=59482
2000-08-01 16:44:15 +00:00
Matthias Ettrich
70f8d2823b make konqueror's full-screen mode useful
svn path=/trunk/kdebase/kwin/; revision=59464
2000-08-01 12:42:03 +00:00
Matthias Ettrich
5d7ca8f2ee adding missing raise and lower keybindings
svn path=/trunk/kdebase/kwin/; revision=59304
2000-07-30 16:15:17 +00:00
Werner Trobin
13aebff097 Commented out some more #define QT_CLEAN_NAMESPACE statements
svn path=/trunk/kdebase/kscreensaver/; revision=59186
2000-07-29 07:59:24 +00:00
Matthias Ettrich
d7d265452b some work on the new default style. Better, but not there yet.
The class still duplicates too much functionality of the base class (Client).
IMO the ResizeBar widgets have to go, it can all be done by painting directly
on the main Manager.

svn path=/trunk/kdebase/kwin/; revision=59127
2000-07-28 22:06:22 +00:00
Matthias Ettrich
450395e891 small things
svn path=/trunk/kdebase/kwin/; revision=58969
2000-07-27 17:58:09 +00:00
Thomas Zander
4d0ac7b5c0 fixed counting problem. On creation of the config file counting started with 2, creating Desktop 2 Desktop 3 etc.
svn path=/trunk/kdebase/kwin/; revision=58433
2000-07-23 17:18:29 +00:00
Matthias Ettrich
47f386209b workarea stuff
svn path=/trunk/kdebase/kwin/; revision=57913
2000-07-19 01:26:00 +00:00
Matthias Ettrich
8ab7b1c57f no debug
svn path=/trunk/kdebase/kwin/; revision=57552
2000-07-17 17:11:19 +00:00
Matthias Ettrich
dea089ee3b send-to-desktop works again
svn path=/trunk/kdebase/kwin/; revision=57321
2000-07-16 15:02:36 +00:00
Rik Hemsley
62e30dc0dc KDE 2 style is now default. KDE 1 style now available as plugin.
KDE 2 style still needs work, but bear with me. I'll get on it...

svn path=/trunk/kdebase/kwin/; revision=57252
2000-07-16 10:20:29 +00:00
Matthias Ettrich
7ca46b1e1c do not manage magic for java applets
svn path=/trunk/kdebase/kwin/; revision=56985
2000-07-15 01:12:41 +00:00
Matthias Ettrich
bda93628e4 highly improved style switching
svn path=/trunk/kdebase/kwin/; revision=56978
2000-07-15 00:46:38 +00:00
Matthias Ettrich
7dcedd2f0d show desktop names in some other places as well (and use utf8 rather than local 8 bit)
svn path=/trunk/kdebase/kwin/; revision=56902
2000-07-14 19:56:47 +00:00
Matthias Ettrich
9a69f2a87a unicode caption support
svn path=/trunk/kdebase/kwin/; revision=56896
2000-07-14 19:35:23 +00:00
Dirk Mueller
36a5d47520 make use of the deskto p names
svn path=/trunk/kdebase/kwin/; revision=56853
2000-07-14 15:27:11 +00:00
Matthias Ettrich
0012e5088b focus handling on lower()
svn path=/trunk/kdebase/kwin/; revision=56651
2000-07-13 20:38:10 +00:00
Matthias Ettrich
5fb81f837b no "resize" and "maximize" options for non-resizable windows
svn path=/trunk/kdebase/kwin/; revision=56608
2000-07-13 17:59:12 +00:00
Matthias Ettrich
32bde0d550 desktop names
svn path=/trunk/kdebase/kwin/; revision=56406
2000-07-12 18:08:24 +00:00
Matthias Elter
94a2f7c586 save/restore number of desktops
svn path=/trunk/kdebase/kwin/; revision=56351
2000-07-12 13:54:23 +00:00
Matthias Ettrich
d226e9cd0e sexy toolwindows (at least in standard style)
svn path=/trunk/kdebase/kwin/; revision=56329
2000-07-12 12:46:58 +00:00
Matthias Ettrich
99211a9236 more staying on top
svn path=/trunk/kdebase/kwin/; revision=56113
2000-07-11 14:49:52 +00:00
Matthias Ettrich
c3a382cac9 improved stays-on-top hint handling
svn path=/trunk/kdebase/kwin/; revision=56111
2000-07-11 14:38:17 +00:00
Matthias Ettrich
678f92f146 yet another focus-follows-mind attempt
svn path=/trunk/kdebase/kwin/; revision=56079
2000-07-11 12:15:58 +00:00
Matthias Ettrich
05a8a4fde3 mac menubar
svn path=/trunk/kdebase/kwin/; revision=55967
2000-07-10 15:54:17 +00:00
Matthias Ettrich
9f2a4f3dc4 autoraise fix ...grmbll...
svn path=/trunk/kdebase/kwin/; revision=55941
2000-07-10 11:15:48 +00:00
Matthias Ettrich
3156291b39 autoraise and clickraise
svn path=/trunk/kdebase/kcontrol/; revision=55877
2000-07-09 20:29:53 +00:00
Matthias Ettrich
b26fb71535 some focus problem
svn path=/trunk/kdebase/kwin/; revision=55761
2000-07-08 13:35:59 +00:00
Matthias Ettrich
ad1f6da5a2 oops, motif noBorder hint was slightly broken
svn path=/trunk/kdebase/kwin/; revision=55753
2000-07-08 12:08:41 +00:00
Jesper Pedersen
797a25747c Added the following two functions:
- Switch one desktop to the left
  - Switch one desktop to the right

svn path=/trunk/kdebase/kwin/; revision=55397
2000-07-04 17:07:58 +00:00
Matthias Ettrich
d332cf9c90 transients stay also on top if the main client stays on top
svn path=/trunk/kdebase/kwin/; revision=54721
2000-06-28 13:24:04 +00:00
Matthias Ettrich
f5226e0281 staysOnTop support.
Fixed titlebar-dblclick-commands (Shade instead of winShade )

svn path=/trunk/kdebase/kwin/; revision=54719
2000-06-28 13:20:42 +00:00
Matthias Ettrich
10658d11e0 system tray support
svn path=/trunk/kdebase/kwin/; revision=54677
2000-06-28 07:51:45 +00:00
Matthias Ettrich
7ae8ea2bf9 focus to null (or desktop ) on last-window-iconified
svn path=/trunk/kdebase/kwin/; revision=54602
2000-06-27 14:43:12 +00:00
bhughes
d2bba865d0 update for NET WM-Spec API fix
svn path=/trunk/kdebase/kwin/; revision=54291
2000-06-24 19:09:50 +00:00
Matthias Ettrich
3958a3a1e1 possibility to iconify, deiconify without animation
propagate new desktop on desktop switches _before_ showing new windows

svn path=/trunk/kdebase/kwin/; revision=54279
2000-06-24 17:58:10 +00:00
Waldo Bastian
ce9f4a2365 WABA: React to color changes
svn path=/trunk/kdebase/kwin/; revision=54202
2000-06-24 06:48:53 +00:00
Matthias Ettrich
3693e4ba80 react properly on sendClientToDesktop requests from kicker
svn path=/trunk/kdebase/kwin/; revision=54143
2000-06-23 18:56:59 +00:00
Matthias Ettrich
72abf668d2 iconify/deiconify animation.
Don't forget to update libkdecore and kicker

svn path=/trunk/kdebase/kwin/; revision=54131
2000-06-23 16:26:44 +00:00
Matthias Ettrich
ead1f75144 some cleanups, reconfigure() dcop call
svn path=/trunk/kdebase/kwin/; revision=54046
2000-06-22 21:57:39 +00:00
Matthias Ettrich
6655d0207d focus policies and alt-tab style:
/*!
      Different focus policies:
      <ul>

      <li>ClickToFocus - Clicking into a window activates it. This is
      also the default.

      <li>FocusFollowsMouse - Moving the mouse pointer actively onto a
      normal window activates it. For convenience, the desktop and
      windows on the dock are excluded. They require clicking.

      <li>FocusUnderMouse - The window that happens to be under the
      mouse pointer becomes active. The invariant is: no window can
      have focus that is not under the mouse. This also means that
      Alt-Tab won't work properly and popup dialogs are usually
      unsable with the keyboard. Note that the desktop and windows on
      the dock are excluded for convenience. They get focus only when
      clicking on it.

      <li>FocusStrictlyUnderMouse - this is even worse than
      FocusUnderMouse. Only the window under the mouse pointer is
      active. If the mouse points nowhere, nothing has the focus. If
      the mouse points onto the desktop, the desktop has focus. The
      same holds for windows on the dock.

      Note that FocusUnderMouse and FocusStrictlyUnderMouse are not
      particulary useful. They are only provided for old-fashined
      die-hard UNIX people ;-)

      </ul>
     */
FocusPolicy=ClickToFocus | FocusFollowsMouse | FocusUnderMouse | FocusStrictlyUnderMouse


    /**
       Different Alt-Tab-Styles:
       <ul>

       <li> KDE - the recommended KDE style. Alt-Tab opens a nice icon
       box that makes it easy to select the window you want to tab
       to. The order automatically adjusts to the most recently used
       windows. Note that KDE style does not work with the
       FocusUnderMouse and FocusStrictlyUnderMouse focus
       policies. Choose ClickToFocus or FocusFollowsMouse instead.

       <li> CDE - the old-fashion CDE style. Alt-Tab cycles between
       the windows in static order. The current window gets raised,
       the previous window gets lowered.

       </ul>
     */
AltTabStyle=KDE | CDE

svn path=/trunk/kdebase/kwin/; revision=54010
2000-06-22 18:08:35 +00:00
Matthias Ettrich
4ea2a5c27f some cleanups
svn path=/trunk/kdebase/kwin/; revision=53990
2000-06-22 14:12:13 +00:00
Matthias Ettrich
c0e1ae2879 improved mouse emulation
svn path=/trunk/kdebase/kwin/; revision=53892
2000-06-21 17:43:44 +00:00
Matthias Ettrich
64f8bc08a9 missing file
svn path=/trunk/kdebase/kwin/; revision=53658
2000-06-19 10:45:45 +00:00
Michael Matz
9bf0f3010b s/CARD32/Q_UINT32/g
svn path=/trunk/kdebase/kwin/; revision=53252
2000-06-14 21:39:07 +00:00
David Faure
b9cc5b7cb1 Hmm, somebody went on holidays and forgot to commit killwindow.h apparently :->
Commented out the feature (you didn't think I would reimplement it, did you ?) :)

And took the opportunity of touching Makefile.am for including *.moc in *.cpp
(faster compilation, smaller link lines, less files...)

svn path=/trunk/kdebase/kwin/; revision=52667
2000-06-09 00:20:21 +00:00
Matthias Ettrich
900e2e6c0b Use the new windowmanager interaction API
svn path=/trunk/kdebase/kwin/; revision=52623
2000-06-08 17:05:51 +00:00
Bernd Gehrmann
45e0fc465a KGlobal <-> KGlobalSettings <-> KApplication cleanup
svn path=/trunk/kdebase/kcontrol/; revision=51720
2000-06-03 01:19:08 +00:00
Waldo Bastian
dc5bf6c01c WABA: Don't allow change of focus while resizing / moving.
This prevents a lot of stupid focus changes when you move a window
around with focusFollowsMouse.
(mouse moves -> focus changes -> window moves -> focus changes back)

svn path=/trunk/kdebase/kwin/; revision=51574
2000-06-02 00:20:41 +00:00
Waldo Bastian
b42ee22030 WABA: Focus fixes.
svn path=/trunk/kdebase/kwin/; revision=51431
2000-06-01 05:32:06 +00:00
Waldo Bastian
c3d3c81d64 WABA: Keep focus with same window after switching desktops
svn path=/trunk/kdebase/kwin/; revision=51128
2000-05-30 05:52:11 +00:00
Waldo Bastian
59e4a2c8fc WABA: Try to kill the window under that is actually under the cursor.
svn path=/trunk/kdebase/kwin/; revision=51107
2000-05-29 22:38:43 +00:00
Matthias Ettrich
c0d337d352 cleanups: less debug output, less flicker, less confusing code
svn path=/trunk/kdebase/kwin/; revision=50775
2000-05-26 13:54:50 +00:00
Kurt Granroth
795b743459 Instead of matching for Kicker, let's match for any window that starts
with kicker.  This allows us to apply kicker rules for internalapplets
that are external to Kicker (e.g., kasbar and ktaskbar)

Also converted qDebug calls to kdDebug while I was debugging

svn path=/trunk/kdebase/kwin/; revision=50597
2000-05-24 20:57:42 +00:00
Rik Hemsley
452395b559 Fixed some activation stuff. When you get down to 1 window, it's
activated. This was really annoying me :)

svn path=/trunk/kdebase/kwin/; revision=50437
2000-05-23 14:55:50 +00:00
Waldo Bastian
7c426bc687 WABA: If we set "may not move" we mean it! No cheating via Alt-F3!
svn path=/trunk/kdebase/kwin/; revision=50046
2000-05-20 07:54:11 +00:00
Kurt Granroth
7853d20753 Added support for Ctrl+Alt+Esc to kill a window. I basically just cut-n-
pasted everything from kwm.  It works.

However, I don't know if this fits the new design or not.  Maybe some
of the functions are accomplished elsewhere?  I think Matthias needs
to take a look at this...

But like I said, it does work :-)

svn path=/trunk/kdebase/kwin/; revision=49849
2000-05-17 23:02:42 +00:00
Kurt Granroth
3396c20935 Added new action: Ctrl+Alt+Del will start the logout/shutdown sequence.
Since this uses kaccel, it is (of course) configurable.

svn path=/trunk/kdebase/kwin/; revision=49834
2000-05-17 20:15:17 +00:00
Rik Hemsley
5fc7cf3f1f Implemented delayed-show for tab box. Configurable, by default off.
To set it, put this in kwinrc:
[TabBox]
ShowDelay=true
DelayTime=200 (or whatever you want, in ms)

svn path=/trunk/kdebase/kwin/; revision=49379
2000-05-14 01:58:13 +00:00
Waldo Bastian
626753571d WABA: Fixed a bug which wasted 0.2% of my effective screen size >:-)
svn path=/trunk/kdebase/kwin/; revision=49060
2000-05-10 04:36:50 +00:00
Matthias Ettrich
f2bb598e46 implemented raise/lower
svn path=/trunk/kdebase/kwin/; revision=48888
2000-05-08 19:37:54 +00:00
Rik Hemsley
d2f8cfec65 Fixed kicker getting hidden
svn path=/trunk/kdebase/kwin/; revision=48754
2000-05-07 20:40:16 +00:00
Matthias Ettrich
6a36c54a7f Kwin raises the following sound events via KNotifyClient:
"Window Close"
	 "Window Iconify"
                  "Window DeIconify"
                  "Window Maximize"
                  "Window UnMaximize"
                  "Window Sticky"
                  "Window UnSticky"
                  "Window New"
                  "Window Delete"
                  "Window Trans New"
                  "Window Trans Delete"
                  "Window Shade Up"
                  "Window Shade Down"
                  "Window Move Start"
                  "Window Move End"
                  "Window Resize Start"
                  "Window Resize End"

svn path=/trunk/kdebase/kwin/; revision=48752
2000-05-07 20:38:11 +00:00
Dirk Mueller
7c6272e088 made it compile
svn path=/trunk/kdebase/kwin/; revision=48746
2000-05-07 20:17:33 +00:00
Rik Hemsley
a982506a75 Kicker is now placed _under_ the Mac menubar - it will not obscure it...
except if you press the hide buttons. That needs fixing.

svn path=/trunk/kdebase/kwin/; revision=48570
2000-05-06 18:59:43 +00:00
Rik Hemsley
e167888fd6 Kicker now tells kwin when it's scrolled off-screen
Commented debug info

svn path=/trunk/kdebase/kwin/; revision=48544
2000-05-06 13:30:08 +00:00
Rik Hemsley
7666caed0a Fixed KWinInterface.h (thanks Simon for the temporary fix :)
Reverted the moving of inline functions in workspace.*

svn path=/trunk/kdebase/kwin/; revision=48479
2000-05-05 18:53:37 +00:00
Rik Hemsley
297651e2c3 Understand more about edge-based clients and act appropriately, passing
info along to kdesktop too.

This is funky now :)

svn path=/trunk/kdebase/kwin/; revision=48377
2000-05-04 23:12:29 +00:00
Michael Matz
c142c3ff4a lowerClient now takes two parameters (an additional 'bool dropFocus=true')
if true (default), the lowered client looses focus, and the top of
stacking order gets it. Something is not working if one lowers many
windows one after another... investigating

svn path=/trunk/kdebase/kwin/; revision=48229
2000-05-03 12:57:37 +00:00
Michael Matz
b3f88eb796 implemented lowerClient(), connected middle-Click to it.
Note that it leaves the focus where it was, which may seem strange if the
to be lowered window becomes fully obscured, but to change focus would be
the purpose of the calling function. To be discussed.

svn path=/trunk/kdebase/kwin/; revision=48202
2000-05-03 06:30:37 +00:00
Rik Hemsley
accc728575 Some debug info while I test avoidance of side-hugging windows
svn path=/trunk/kdebase/kwin/; revision=47701
2000-04-28 02:52:09 +00:00
Rik Hemsley
f65ca70e0b Fixed maximisation. Now kwin really does avoid windows which ask
to be avoided. It also updates nicely. Just move kicker from the
bottom to the left, say, and open a new window. It doesn't cover
kicker. Maximise. Still doesn't cover. Seems to work, then.

svn path=/trunk/kdebase/kwin/; revision=47602
2000-04-26 21:28:51 +00:00
Waldo Bastian
b33a6fa71e WABA: Grab mouse while in Alt-Tab or Control-Tab mode. This prevents a bug
which otherwise would occur when you click on the Alt-Tab-window with the
mouse. I hope I didn't break anything because this X-stuff is rather mystical.

BTW Why does KWin get so many "MotionNotify" events when you move your mouse
across certain windows?

svn path=/trunk/kdebase/kwin/; revision=47554
2000-04-26 01:45:10 +00:00
Waldo Bastian
f02955dcba WABA: Make desktop, kicker and the macbar unmovable.
svn path=/trunk/kdebase/kwin/; revision=47007
2000-04-19 04:36:47 +00:00
Rik Hemsley
330ea804b2 Preliminary support for avoiding covering clients such as kicker
which want to be permanently visible.

I've used an XAtom called '_NET_AVOID_SPEC'. This of course can change
if need be. I think it's correct according to the wm spec, but the
wm spec seems to be empty on gnome.org, so who knows.

Windows can choose to be avoided by setting an XTextProperty
with one value, which can be either 'N', 'S', 'E', or 'W', according
to which screen edge they are anchored to.

kwin then sets its 'clientArea' rect appropriately, so that (in
  theory at least) clients will not enter this area in some circumstances,
such as when being mapped for the first time.

You can see that this actually works if you start lots of konsoles. They
don't appear over the panel. I don't know what happens if you move the
panel, but I presume things will be screwed up, because I haven't
looked at that yet.

If you maximise a window, it'll still fill the screen, because the
implementation of maximise in kwin/client.cpp doesn't take account
of the workspace's clientArea rect. This is easy to fix, but I've
been awake for too long, so I'll do it after 42 winks.

svn path=/trunk/kdebase/kwin/; revision=46772
2000-04-16 09:06:03 +00:00
Kurt Granroth
281b293440 Hack to get the kdesktop mac menu sticky since KWin::setSticky doesn't exist
and KWM::setSticky doesn't work.

svn path=/trunk/kdebase/kwin/; revision=46004
2000-04-08 18:45:20 +00:00
Matthias Ettrich
6d299fc9a4 support for the MOTIF noBorder hint
svn path=/trunk/kdebase/kwin/; revision=45820
2000-04-06 18:29:04 +00:00
Matthias Ettrich
b49151074f Session management for KDE-2.x : say hello to the ksmserver
svn path=/trunk/kdebase/kwin/; revision=44552
2000-03-24 22:23:02 +00:00
Matthias Ettrich
12f591923c do not change window placement on style changes
svn path=/trunk/kdebase/kwin/; revision=44451
2000-03-24 09:42:23 +00:00
Matthias Ettrich
7375cc7a17 faster abort when another window manager is running
svn path=/trunk/kdebase/kwin/; revision=44291
2000-03-22 12:36:07 +00:00
Matthias Ettrich
0bb1975556 performance
svn path=/trunk/kdebase/kwin/; revision=44279
2000-03-22 10:06:37 +00:00
Matthias Ettrich
c2b5722a6b small optimizations
svn path=/trunk/kdebase/kwin/; revision=44233
2000-03-21 20:02:27 +00:00
Kurt Granroth
2b0fb2434f use KGlobal::menuFont()
svn path=/trunk/kdebase/kwin/; revision=43693
2000-03-16 19:37:37 +00:00
Kurt Granroth
bad0fc821a Added separator in workspace list
svn path=/trunk/kdebase/kwin/; revision=43207
2000-03-12 06:18:14 +00:00
Matthias Ettrich
98ea0a56db small fixes
svn path=/trunk/kdebase/kwin/; revision=42768
2000-03-06 19:14:20 +00:00
Matthias Ettrich
8460a9ad3e make transients sticky when their main window becomes sticky
svn path=/trunk/kdebase/kwin/; revision=37996
2000-01-10 03:47:30 +00:00
Kurt Granroth
4e650b8d0f fixed typo
svn path=/trunk/kdebase/kwin/; revision=37447
1999-12-30 22:46:45 +00:00
Woohyun JANG
ba32bbdd36 using KWM::title() instead of XFetchName() to get a window's name.
svn path=/trunk/kdebase/kwin/; revision=37307
1999-12-27 09:22:19 +00:00
Daniel M. Duley
de782ec37b Implemented plugins :) This was a huge pain in the arse because a) I am stupid
and it kept segfaulting because I wasn't releasing windows, and b) The plugins
didn't want to resolve anything in the kwin executable, only to the other
libs. I finally solved this by using -rdynamic in kwin's LDFLAGS, which I hope
is okay ;-)

svn path=/trunk/kdebase/kwin/; revision=37234
1999-12-24 01:36:47 +00:00
Stephan Kulow
caf3ce1376 let it compile with SparcWorks CC 5.0 (templates, stdlib.h, little ANSI glitches)
svn path=/trunk/kdebase/kwin/; revision=37154
1999-12-22 17:16:23 +00:00
Chris Schlaeger
7a0af99fb9 Code was generating an internal compiler error with egcs-2.91.66 on
my SuSE 6.3. Rearranging the statements fixed it.

svn path=/trunk/kdebase/kwin/; revision=37132
1999-12-22 09:46:21 +00:00
Daniel M. Duley
91cb1debe1 Small fixes.
svn path=/trunk/kdebase/kwin/; revision=37122
1999-12-22 04:09:47 +00:00
Kurt Granroth
eeca670a3d I have no clue why I thought I had fixed the floating toolbar
before... doesn't it make sense that [menu] would work for the
MENUBARS?  Yeesh... I'm not sure what I was drinking that day.

Anyway, I think I got it now.  Toolbars use [tools] (how about that!) :-)

svn path=/trunk/kdebase/kwin/; revision=37041
1999-12-21 05:54:40 +00:00
Cristian Tibirna
05f34e3f95 CT: the real fix. How the heck did this work?
svn path=/trunk/kdebase/kwin/; revision=36903
1999-12-19 03:04:39 +00:00
Cristian Tibirna
e3d3ed18d1 CT: wasn't smart placement act a bit strange? This fixes it.
svn path=/trunk/kdebase/kwin/; revision=36862
1999-12-18 20:33:54 +00:00
Daniel M. Duley
4afb1ee166 Sync the config after switching styles.
svn path=/trunk/kdebase/kwin/; revision=36090
1999-12-08 04:02:07 +00:00
Daniel M. Duley
9e10f0990c Nextstep style ;-) You can see a screenshot of this with the KStep widget
style at:

http://www.mosfet.org/next.gif

I'll be adding the color scheme used in a sec.

svn path=/trunk/kdebase/kwin/; revision=36087
1999-12-08 02:44:50 +00:00
Matthias Ettrich
167fc3df88 yet another minor focus fix ;-)
svn path=/trunk/kdebase/kwin/; revision=36075
1999-12-07 22:04:07 +00:00
Matthias Ettrich
9764a4f487 fixed a minor focus problem
svn path=/trunk/kdebase/kwin/; revision=36074
1999-12-07 21:54:52 +00:00
Kurt Granroth
126bc26fda It appears that almost nobody uses the floating toolbar as kwin hasn't
had support for it since.. well, ever.  Well, it does now.

svn path=/trunk/kdebase/kwin/; revision=35996
1999-12-07 02:18:27 +00:00
David Faure
61123bd562 Fix for RMB popup "send to desktop" when desktop number != 4
svn path=/trunk/kdebase/kwin/; revision=35971
1999-12-06 20:54:30 +00:00
Matthias Ettrich
935c0a4478 More keyboard commands such as "Window move" and "Window resize".
"Mouse emulation" (defaults to F12 currently) provides mouse emulation with
[Ctrl|Alt]-ArrowKeys.  Unfortunatly, dragging isn't (technically) possible with
X, but at least normal clicks work with Space or Return.

svn path=/trunk/kdebase/kwin/; revision=35919
1999-12-06 00:43:55 +00:00
Preston Brown
f0cdd75197 implemented desktop cascading and uncluttering.
svn path=/trunk/kdebase/kwin/; revision=35765
1999-12-03 21:08:07 +00:00
David Faure
410a80a76d oops, added group, and tried a sync() in destructor, but since we have
no proper logout...
Anyway, nice to have 6 desktops again :)

svn path=/trunk/kdebase/kwin/; revision=35756
1999-12-03 19:04:03 +00:00
David Faure
0274e04914 Read number of desktops from kwinrc - a first step towards configurability
svn path=/trunk/kdebase/kwin/; revision=35755
1999-12-03 18:51:22 +00:00
Matthias Ettrich
64acd7375d implemented preliminary WM_CONTEXT_HELP protocol. In combination with tomorrow's
Qt snapshot, you will see lovely question marks in the titlebar of dialogs that
invoke What's This help.

svn path=/trunk/kdebase/kwin/; revision=35618
1999-12-01 22:09:32 +00:00
Matthias Ettrich
322bccde7b async keyboard
svn path=/trunk/kdebase/kwin/; revision=35431
1999-11-29 14:19:32 +00:00
Matthias Ettrich
91d73bedca animated shading works again. Shortcut for shading possible
"Window shade"

svn path=/trunk/kdebase/kwin/; revision=35392
1999-11-29 02:49:20 +00:00
Matthias Ettrich
ddaa516ba4 more keybindings:
Window maximize,Window maximize vertical,Window maximize horizontal
 Window iconify

Try for example in kdeglobals:

	[Global Keys]
	Window maximize vertical=F5

svn path=/trunk/kdebase/kwin/; revision=35389
1999-11-29 02:18:29 +00:00
Matthias Ettrich
b441f40a7e configurable mouse bindings (see README)
svn path=/trunk/kdebase/kwin/; revision=35388
1999-11-29 02:06:41 +00:00
Matthias Ettrich
b8a8bf9be2 CurrentTime must die
svn path=/trunk/kdebase/kwin/; revision=35369
1999-11-28 21:41:15 +00:00
Matthias Ettrich
82b0710065 unified window captions ( not propagated yet)
svn path=/trunk/kdebase/kwin/; revision=35364
1999-11-28 20:55:52 +00:00
Matthias Ettrich
070b0971cc be smarter with shaded windows: when shading, iconify any non-shaded
transients.

svn path=/trunk/kdebase/kwin/; revision=35354
1999-11-28 20:17:57 +00:00
Matthias Ettrich
bd1e4878ba keep transients together, support various input modes, handle
wm_change_state messages properly

svn path=/trunk/kdebase/kwin/; revision=35353
1999-11-28 20:10:58 +00:00
Cristian Tibirna
9c2fd4530e CT: snap. Thanks to Matthias for the adjustClientPosition(). Clean
svn path=/trunk/kdebase/kwin/; revision=35049
1999-11-25 23:12:32 +00:00
Matthias Ettrich
378161e531 hook for snapping functionality
svn path=/trunk/kdebase/kwin/; revision=35032
1999-11-25 16:38:11 +00:00
Matthias Ettrich
25d8cad6f8 added sticky to the menu
svn path=/trunk/kdebase/kwin/; revision=34729
1999-11-22 18:34:46 +00:00
Matthias Ettrich
367d4fd0d7 some bugfixes, added a window operations menu, some simple shading animation
svn path=/trunk/kdebase/kwin/; revision=34662
1999-11-22 01:57:51 +00:00
Matthias Ettrich
eb5e8e031d slightly improved default look
svn path=/trunk/kdebase/kwin/; revision=34604
1999-11-21 17:17:34 +00:00
Matthias Ettrich
4bc6ce23fb more reasonable focus handling when switching desktops
svn path=/trunk/kdebase/kwin/; revision=34472
1999-11-20 13:51:29 +00:00
Cristian Tibirna
52d957df8e CT: cascading placement. I feel it as a bit of an overkill for what it does
compared to smart placement. Whatever. Some people want it

    smart placement made smarter (just a bit) and faster (just a bit)

Qt is a marvel. kwin is even better than kwm. KDE is amazing :-) You know
	who I am now, even if I don't sign.

svn path=/trunk/kdebase/kwin/; revision=34452
1999-11-20 06:27:07 +00:00
Matthias Ettrich
b0b7769701 took "THE DESKTOP" and kicker out of the tab chain
svn path=/trunk/kdebase/kwin/; revision=34140
1999-11-17 17:25:26 +00:00
Cristian Tibirna
a8136ad767 CT: ok. smart placement is back. and shoved on you all to test it :-)
svn path=/trunk/kdebase/kwin/; revision=34116
1999-11-17 06:11:39 +00:00
Cristian Tibirna
f49c7be018 CT: smart placement code. No! It isn't tested and isn't supposed to work.
One 'if' gets a bad turn. But commit it 'cause I'm reknown for doing stupid
things with unbacked-up code. Matthias, I managed to reduce all from
175 to 125 lines and from 4740 chars to 3260. This is what you wanted?

Don't worry, kwin compiles and works as before.

If somebody finds a way to teleport my office in some other dimension, I
finish this tomorrow (that is, today + a couple of sleep hours). If not ...

svn path=/trunk/kdebase/kwin/; revision=34034
1999-11-16 08:53:02 +00:00
Matthias Ettrich
486f0d604d bugfixes, what else
svn path=/trunk/kdebase/kwin/; revision=34019
1999-11-16 02:03:14 +00:00
Matthias Ettrich
9a0ea6b949 - handle initial state iconic
- handle maprequests when being iconified properly
- do not unshade xemacs 32000 pixels high

svn path=/trunk/kdebase/kwin/; revision=34014
1999-11-16 01:25:42 +00:00
Matthias Ettrich
f1dbea6ae5 fixed client activation
svn path=/trunk/kdebase/kwin/; revision=33993
1999-11-15 22:37:12 +00:00
Matthias Ettrich
bd7c253101 make shading work again (double click on titlebar)
svn path=/trunk/kdebase/kwin/; revision=33918
1999-11-15 15:57:48 +00:00
Matthias Ettrich
3293927ed4 found a smart way to get rid of the race conditions (that sometimes
made windows lose their decorations)

svn path=/trunk/kdebase/kwin/; revision=33867
1999-11-15 00:52:05 +00:00
Matthias Ettrich
49eb95bd94 More docking magic: If a window gets iconified that has a docking window,
remove it from the taskbar (in fact, do a withdraw() )

svn path=/trunk/kdebase/kwin/; revision=33759
1999-11-14 06:34:28 +00:00
Matthias Ettrich
cb5978260f fake being kwm (helps some docking apps out there)
svn path=/trunk/kdebase/kwin/; revision=33646
1999-11-13 03:44:09 +00:00
Matthias Ettrich
b4cc618773 nicer code and (hopefully) even more robust
svn path=/trunk/kdebase/kwin/; revision=33642
1999-11-13 02:35:15 +00:00
Matthias Ettrich
6862ff3dcb transients again
svn path=/trunk/kdebase/kwin/; revision=33640
1999-11-13 02:02:10 +00:00
Matthias Ettrich
eb472b9ed5 Ctrl-Fx desktop switching to make David happy
svn path=/trunk/kdebase/kwin/; revision=33636
1999-11-13 01:51:22 +00:00
Matthias Ettrich
ecec648c11 more robust raise algorithm
svn path=/trunk/kdebase/kwin/; revision=33562
1999-11-12 03:58:34 +00:00
Matthias Ettrich
a30c061abb shape windows support, some fixes for configure-request handling
svn path=/trunk/kdebase/kwin/; revision=33553
1999-11-12 03:11:19 +00:00
Daniel M. Duley
60ba85da36 Use sync() - thought about that right after I committed ;-)
svn path=/trunk/kdebase/kwin/; revision=33485
1999-11-11 01:29:33 +00:00
Daniel M. Duley
c9e72c7700 Read a KConfig key in ClientFactory to select the style and save the key when
choosing from the menu. This will have to change when I do plugins but makes
kwin styles easier to use now.

svn path=/trunk/kdebase/kwin/; revision=33483
1999-11-11 01:27:37 +00:00
Matthias Ettrich
35c7b77082 support for docking windows
svn path=/trunk/kdebase/kwin/; revision=33482
1999-11-11 01:22:41 +00:00
Kurt Granroth
7ef5cb7319 Okay, no more "freezing" X. kwin should be usable again :-)
svn path=/trunk/kdebase/kwin/; revision=33251
1999-11-08 15:57:30 +00:00
Matthias Ettrich
6919a58420 removed minicli stuff
svn path=/trunk/kdebase/kwin/; revision=33160
1999-11-07 20:29:26 +00:00
Daniel M. Duley
3a9281209d Bye (it's going in kdesktop).
svn path=/trunk/kdebase/kwin/; revision=33110
1999-11-07 14:46:49 +00:00
Kurt Granroth
ae262e92d2 "ported" over the essential minicli from kwm (yipee! now i can use kwin as
my normal window manager!!)

unfortunately, i'm not 100% that the way i did it was the "proper" way.  it
works, but it might not be the best way to do it.  matthias, et al,
definitely need to take a look at it!

svn path=/trunk/kdebase/kwin/; revision=33085
1999-11-07 08:46:36 +00:00
Matthias Ettrich
d21739331f fixed desktop handling
svn path=/trunk/kdebase/kwin/; revision=33068
1999-11-07 02:07:03 +00:00
Matthias Ettrich
1884091309 update, usable with kicker now
svn path=/trunk/kdebase/kwin/; revision=33064
1999-11-07 01:43:06 +00:00
Matthias Ettrich
5b3d19e42d make it work again
svn path=/trunk/kdebase/kwin/; revision=32597
1999-11-02 15:17:15 +00:00
Matthias Ettrich
b62982b6d1 handling close without weird error messages. Dynamic style changes
without jumping.

svn path=/trunk/kdebase/kwin/; revision=32546
1999-11-02 00:32:31 +00:00
Daniel M. Duley
37b09be6f3 A few fixes, moved colorgroups to the Options class (much nicer there), and
started on a fixed system style. If you try it out make sure to read the new
README, as it requires some gradient settings.

svn path=/trunk/kdebase/kwin/; revision=30585
1999-10-11 02:00:06 +00:00
Stefan Taferner
df7fc2905e Working kwin from Matthias E. :-)
svn path=/trunk/kdebase/kwin/; revision=30385
1999-10-09 09:55:16 +00:00
Matthias Ettrich
75f321c4c0 more experimental stuff
svn path=/trunk/kdebase/kwin/; revision=29737
1999-09-27 16:02:44 +00:00
Matthias Ettrich
311db796c6 Say hello to kwin. WARNING: NOT USABLE YET. See README.
svn path=/trunk/kdebase/kwin/; revision=27871
1999-08-19 23:26:42 +00:00