Commit Graph

282 Commits (5f003b9ec304c2709260fe12b7e86989a539e5cf)

Author SHA1 Message Date
Luboš Luňák 43e7580cf0 Shortcuts for moving a window to left/right/up/down.
CCMAIL: 87411-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=348524
2004-09-22 16:49:41 +00:00
Luboš Luňák 37f682c907 Handle a rather unusual usage KMenuBar usage in amarok - parent widget
is first created toplevel, then reparented to become one tab widget.
CCMAIL: 81620-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=333232
2004-07-27 13:13:52 +00:00
Luboš Luňák 094befa1de Make it possible to have several rules matching one window.
svn path=/trunk/kdebase/kwin/; revision=321637
2004-06-18 08:57:42 +00:00
Luboš Luňák 5085b40285 Fix activation of window that was active at session saving time.
svn path=/trunk/kdebase/kwin/; revision=319667
2004-06-11 15:13:08 +00:00
Luboš Luňák 6e44fc30b8 Autosave for window rules.
svn path=/trunk/kdebase/kwin/; revision=319665
2004-06-11 15:12:29 +00:00
Luboš Luňák 0f972d789f Instead of snatching the window temporarily from kwin simply tell kwin
what to do with it. I've never liked this hack much, and this should
also take care of #49375, and should make sure kstart options will
have higher priority than settings configured in kwin.

svn path=/trunk/kdebase/kwin/; revision=319662
2004-06-11 15:10:09 +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
Luciano Montanaro 7240bff8f1 Added a new variant of showWindowMenu() that takes an originating rect instead
of a point. This method should be preferred to bring up the actions menu  from
the menu button, since it makes it a bit harder to select a menu item
involuntaryily in some corner case.

svn path=/trunk/kdebase/kwin/; revision=317016
2004-06-02 09:47:36 +00:00
Luboš Luňák 8e09a9bc22 I guess I could finally find some time to work on things for 3.3.
Initial work on kwin rules, i.e. #36377 , per window specific settings.
So far only desktop/above/below work, no GUI, and settings from the old
'Save window settings' are ignored for now.

svn path=/trunk/kdebase/kwin/; revision=315446
2004-05-28 13:51:11 +00:00
Luboš Luňák 5632bb5129 Patch from Christopher J. Suleski (linux tildewave com) implementing #30426.
CCMAIL: 30426-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=315341
2004-05-28 08:53:44 +00:00
Luboš Luňák d551f871fb Prefer the newer way of getting startup timestamp from the ASN startup id.
svn path=/trunk/kdebase/kwin/; revision=314706
2004-05-26 09:24:14 +00:00
Luboš Luňák 6d919922e2 Better implementation for ##36065.
svn path=/trunk/kdebase/kwin/; revision=305578
2004-04-22 12:30:57 +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
Luboš Luňák f701524d4e Experimental support for #36065 (dragging from a window shouldn't raise it).
Needs a Qt patch.

svn path=/trunk/kdebase/kwin/; revision=304194
2004-04-16 10:23:42 +00:00
Luboš Luňák 1f628f4a5b Support for timestamp in the window restack request.
svn path=/trunk/kdebase/kwin/; revision=304187
2004-04-16 09:43:53 +00:00
Waldo Bastian 30faf2c53e KIOSK: Hide configure option if control modules have not been authorized
svn path=/trunk/kdebase/kwin/; revision=296848
2004-03-18 13:18:41 +00:00
Luboš Luňák d2e94b988e Watch properties also on the group leader window, for now only
the startup notification property, but it could be extended
to read icons etc. as well if needed (ICCCM 4.1.2.7).

svn path=/trunk/kdebase/kwin/; revision=291218
2004-02-25 09:51:47 +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 ea87eea812 On auto unshading, don't keep focus on the unshaded window, revert
focus to the previously active window.
CCMAIL: 75302-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=288483
2004-02-16 15:19:39 +00:00
Luboš Luňák ed511fc454 Reshuffle the options in the Alt+F3 menu a bit and see what is does ...
svn path=/trunk/kdebase/kwin/; revision=287759
2004-02-13 15:15:37 +00:00
Luboš Luňák 5f079f5e3d Fix for #67416 by Martin Koller + my grab code changes to get mouse
clicks even for the active window.

svn path=/trunk/kdebase/kwin/; revision=286702
2004-02-10 09:24:57 +00:00
Luboš Luňák 42e26ff608 Use WM_CLIENT_LEADER for grouping if a window is group transient
but has no group set. This should take care of comment #20 in #69519.

svn path=/trunk/kdebase/kwin/; revision=285366
2004-02-05 18:16:53 +00:00
Luboš Luňák e5d090ff4d When the X focus gets set to None, reset it to the null focus window,
so that keyboard shortcuts still work.

svn path=/trunk/kdebase/kwin/; revision=284489
2004-02-02 14:17:01 +00:00
Luboš Luňák 43d67778b8 Fix fullscreen with mouse focus policies, fix ##62208 and fix properly
##69238.

svn path=/trunk/kdebase/kwin/; revision=281049
2004-01-19 14:42:52 +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 581fa5f585 Fix focus stealing prevention during kontact startup, with tips dialog
enabled.

svn path=/trunk/kdebase/kwin/; revision=277883
2004-01-08 16:18:07 +00:00
Luboš Luňák c84b674e6a Pass also the currently active window in the _NET_ACTIVE_WINDOW message.
svn path=/trunk/kdebase/kwin/; revision=273668
2003-12-18 12:16:30 +00:00
Luboš Luňák 0b8ee9a5e4 When comparing window requesting activation (i.e. focus stealing prevention),
don't use Workspace::activeClient() as the active client, but instead
the most recent should_get_focus client - that may make a difference
if a window was just activated, but the matching FocusIn event that'll
make it to be activeClient() wasn't yet processes. Visible with apps
that show several windows at the same time after startup.

svn path=/trunk/kdebase/kwin/; revision=270831
2003-12-02 17:52:10 +00:00
Luboš Luňák 897e67f79a Partially revert the recent xinerama commit - !isMapped == useCursorPos
was always true, no need for another argument.

svn path=/trunk/kdebase/kwin/; revision=269308
2003-11-24 15:05:50 +00:00
George Staikos 875fc62836 Reimplement Xinerama placement. Patch from Balaji Ramani.
CCMAIL: balaji@yablibli.com

svn path=/trunk/kdebase/kwin/; revision=268719
2003-11-21 23:00:38 +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
Luboš Luňák 240ad036d0 Make system tray temporarily set _KDE_SYSTEM_TRAY_EMBEDDING property on
windows while embedding them, allowing KWin to figure out it's being used
and that it's not going away. This hack avoids the reparenting fight
between KWin and QXEmbed where QXEmbed started to loose after the recent
fixes.
In order to make systray really work, QXEmbed still needs some fixes
related to not destroying the embedded window.

svn path=/trunk/kdebase/kwin/; revision=263178
2003-10-30 10:10:54 +00:00
Luboš Luňák 8b5159bb1a Warn when somebody plays too much, turns off a border and doesn't know how
to put it back *sigh*.

CCMAIL: 64938-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=258583
2003-10-13 16:22:39 +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 83835a8757 Small cleanup related to timestamp handling.
svn path=/trunk/kdebase/kwin/; revision=257715
2003-10-10 12:48:09 +00:00
Luboš Luňák 43ff6ea638 Move struct SessionInfo from workspace.h to sm.h .
svn path=/trunk/kdebase/kwin/; revision=256747
2003-10-06 14:03:15 +00:00
Luboš Luňák 52b2452085 Catch all events related to clients, even if they're not e->xany.window .
svn path=/trunk/kdebase/kwin/; revision=255661
2003-10-02 12:33:51 +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 90281645bf As KPassivePopup shows, things can be annoying even if they don't steal
the focus and just are there. Therefore, as a part of focus stealing
prevention, let's also block raising of windows. Also added special
request for Kicker, as taskbar requests for raising should be obeyed.
(Not that this does anything to KPassivePopup.)

svn path=/trunk/kdebase/kicker/taskmanager/; revision=255070
2003-09-30 12:49:23 +00:00
Luboš Luňák ce37c50587 Small cleanups.
svn path=/trunk/kdebase/kwin/; revision=255049
2003-09-30 10:55:06 +00:00
Stephan Binner 2ec6c54769 Moved window options into a sub-menu. Still not convinced that having full
screen and noborder there is a good idea. How does an application get notified
that it was switched to full screen mode? How do you revert these settings?

svn path=/trunk/kdebase/kwin/; revision=254230
2003-09-26 21:32:49 +00:00
Luboš Luňák 19c204b429 A feeble attempt to fix #63223 that does not really work and is disabled.
svn path=/trunk/kdebase/kwin/; revision=253843
2003-09-25 12:17:35 +00:00
Luboš Luňák 9db6939eca Save windows state in phase2. The XSMP spec allows apps to change
their state in phase1 :(.

svn path=/trunk/kdebase/kwin/; revision=252344
2003-09-19 11:07:46 +00:00
Luboš Luňák affe6e19cc Keyboard shortcut for turning off the border.
svn path=/trunk/kdebase/kwin/; revision=251809
2003-09-17 10:57:28 +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
Luboš Luňák 71d30b5813 At least very basic support for _NET_WM_WINDOW_TYPE_SPLASHSCREEN also in HEAD.
svn path=/trunk/kdebase/kwin/; revision=239649
2003-07-28 13:26:08 +00:00
Dirk Mueller 6bbbe69c0e unbreak compilation (gcc 3.4+)
svn path=/trunk/kdebase/kcontrol/; revision=239225
2003-07-26 10:41:28 +00:00
Luboš Luňák b1658f3efe Get rid of the focusEnsurance hack that was trying to work around
a hack in Qt that was trying to work around something that Qt-2.2.4 changelog
claims to be Xlib bug and that's no longer in Qt anyway.
Fixes #24087.

svn path=/trunk/kdebase/kwin/; revision=220339
2003-04-15 18:51:39 +00:00
Luboš Luňák 9cb2c00de3 Cleanup of KWin::Info -> KWin::WindowInfo.
Correct detection of minimized windows for KWin HEAD and kwin_iii.
Correct detection of window type even if the list includes unsupported ones.

svn path=/trunk/kdebase/kwin/; revision=219298
2003-04-09 14:20:55 +00:00
Luboš Luňák 1f87831837 XRANDR support in HEAD too, so that curious people don't have to use
kwin_iii. It's still #ifdef-ed out by XRANDR_SUPPORT, just like elsewhere
in kdelibs/kdebase.

svn path=/trunk/kdebase/kwin/; revision=211041
2003-03-03 14:03:56 +00:00
Luboš Luňák 32830fe4c6 Disable legacy session support in HEAD KWin too, as ksmserver is not
branched.

svn path=/trunk/kdebase/kwin/; revision=203113
2003-01-27 13:49:15 +00:00
Luboš Luňák a4b6ba8032 Save some duplicated code.
svn path=/trunk/kdebase/kwin/; revision=197003
2003-01-02 16:57:08 +00:00
Harri Porten 7cd5b4570e added some const suggestions for KDE 4.0
svn path=/trunk/kdebase/kwin/; revision=196082
2002-12-27 22:57:06 +00:00
Luboš Luňák 92396f254d Work areas (_NET_WORKAREA) are actually to be supposed per-desktop.
svn path=/trunk/kdebase/kwin/; revision=196073
2002-12-27 22:32:17 +00:00
Luboš Luňák 336667733e keyboard shortcuts for always-on-top & on-all-desktops
(#49083).

svn path=/trunk/kdebase/kwin/; revision=194462
2002-12-17 16:09:08 +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 6a1b175c7f Damn, I hate keeping BC in an application.
svn path=/trunk/kdebase/kwin/; revision=184473
2002-10-18 11:26:55 +00:00
Luboš Luňák 35c890d029 Fix #44133. Approved by Gallium.
svn path=/trunk/kdebase/kwin/; revision=184025
2002-10-15 13:41:37 +00:00
Luboš Luňák df05c96459 Ok, looks like it wasn't BIC after all.
svn path=/trunk/kdebase/kwin/; revision=175636
2002-09-04 07:27:06 +00:00
Luboš Luňák 427941efea Keep BC.
svn path=/trunk/kdebase/kwin/; revision=175540
2002-09-03 16:47:41 +00:00
Matthias Ettrich e3dddfb21d the return of the popup_client, at least a tiny little bit :-) See
discussion on kwin@mail.kde.org

svn path=/trunk/kdebase/kwin/; revision=175528
2002-09-03 16:05:30 +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
Karol Szwed a33f4313ab - Removing patch by Diego Iastrubini that attempted to fix the bidi issues in
clients by adding an unnecessary 'enable-bidi' checkbox which was never agreed
  upon on the kwin mailing list.

  The use of --reverse is sufficient without needing this checkbox.
  Please discuss largish patches like these first, especially during a feature
  freeze!

  (Everyone also seems to forget the kwin-styles in kdeartwork)

- Make clients look the same with --reverse instead of the broken state they
  were in previously. If the button ordering is not to your liking in reverse
  mode, just change the button positions. (Or send patches for those clients
  that have not got these features yet).

- Clean up popupMenu handling somewhat.

- Remove a global static object in keramik.

svn path=/trunk/kdebase/kwin/; revision=174079
2002-08-27 15:12:14 +00:00
Luboš Luňák 220206e6dd Make sure the window operations popup works for the active window.
Plugin developers should use only Workspace::showWindowMenu() instead
of calling Workspace::clientPopup() and playing with the popup.

svn path=/trunk/kdebase/kwin/; revision=173296
2002-08-22 17:16:47 +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 78a7c08049 Since some of the .h files are installed ...
Prefix all the #ifndef #define ... #endif symbols with KWIN_ , just in case
somebody uses CLIENT_H or so too.
And don't include config.h .

svn path=/trunk/kdebase/kwin/; revision=168940
2002-07-26 20:30:36 +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
Nadeem Hasan b36c644b72 Don't show desktop menu when there is only one desktop configured. Thanks
to aseigo for the original patch.

svn path=/trunk/kdebase/kwin/; revision=160391
2002-06-11 19:49:38 +00:00
Alexander Kellett 3e43789786 "wmaker-like" popup messages on desktop switch.
svn path=/trunk/kdebase/kwin/; revision=146349
2002-04-01 02:54:00 +00:00
Waldo Bastian a0ca762edd * Do not use config.h in header files.
* Throw out unused Xinerama code.

svn path=/trunk/kdebase/kwin/; revision=143596
2002-03-18 08:30:50 +00:00
Matthias Ettrich 83f58ed248 gracefully handle more than one desktop client application (which
happens triggered by a kdesktop bug on David Faure's machine).

You can now launch additional desktop applications with

     kstart --type Desktop konqueror
or
     kstart --type Desktop konsole

and toggle between them with

    dcop kwin default circulateDesktopApplications

svn path=/trunk/kdebase/kwin/; revision=140330
2002-03-02 21:03:49 +00:00
Matthias Ettrich e34a6ee283 second half of the "avoid stealing focus if possible" fix
svn path=/trunk/kdebase/kwin/; revision=139642
2002-02-28 22:11:43 +00:00
George Staikos 1cde570a88 Fix behaviour of windows when changing styles on Xinerama. Now they don't
magically fly to other screens.

svn path=/trunk/kdebase/kwin/; revision=139300
2002-02-28 00:43:23 +00:00
Ellis Whitehead c798226b77 Clean-up, and fix so that Alt+Tabbing works with NumLock or CapsLock on.
svn path=/trunk/kdebase/kwin/; revision=132462
2002-01-19 04:55:32 +00:00
bhughes e26ab00662 before including the Xinerama header, make sure Bool is defined.
The Xlib.h Bool define has to be removed before including Qt headers,
so this makes sure that things work properly...

svn path=/trunk/kdebase/kwin/; revision=131909
2002-01-16 11:13:17 +00:00
Ellis Whitehead 0fa8002e0d Updates necessary for changes made in the K*Accel* and KKey* classes.
svn path=/trunk/kdebase/kcontrol/; revision=129003
2001-12-29 04:19:24 +00:00
Ellis Whitehead 7960d9b776 - Remove obsolete slots
- Add detection of shortcut configuration changes

svn path=/trunk/kdebase/kwin/; revision=124812
2001-11-30 08:04:17 +00:00
Waldo Bastian 8c5a34d322 Take into account a wide range of pager-layouts, the pager can set the
required layout via DCOP. Used for desktop left/right/up/down.

svn path=/trunk/kdebase/kwin/; revision=124773
2001-11-29 23:59:54 +00:00
Waldo Bastian 2076b00f61 Make active borders working when moving a window.
Make it configurable (disabled, only when moving, always enabled)

svn path=/trunk/kdebase/kwin/; revision=120497
2001-11-03 00:05:33 +00:00
Laurent Montel 4ef029256c QList -> QPtrList
QArray -> QMemArray

svn path=/trunk/kdebase/kwin/; revision=113976
2001-09-11 06:53:46 +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
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
Matthias Ettrich 6847f73526 cleaned grabbing up a bit
svn path=/trunk/kdebase/kwin/; revision=107986
2001-07-27 12:48:30 +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 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
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
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
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
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
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 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
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
Luboš Luňák b6c55170ed Breaking BC in KWin again in order to keep BC for plugins. I forgot
a few private pointers *slap self*.

svn path=/trunk/kdebase/kwin/; revision=92998
2001-04-20 07:19:03 +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 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
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
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
David Faure 77180181a1 Make setCurrentDesktop(int) available via DCOP, to replace the "kwmcom desktopN"
functionality from kde1. Not a slot anymore (wasn't used as such).

svn path=/trunk/kdebase/kwin/; revision=85932
2001-03-08 14:28:07 +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
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
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
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 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
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
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
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 aa3eb43071 - fix autohide strut in kicker
- cleanup k menu, added configurable bookmarks menu
- unclutter/cascade in window menu
- logout from kdesktop without warning message
- kicker menu adjusts on reconfigure()
- desktop menu off by default (now that all functionality is visible
  otherwise)
- killWindow in kwin's dcop interface

Patch tested and confirmed by coolo and Matthias Elter.

svn path=/trunk/kdebase/kwin/; revision=64783
2000-09-23 14:48:02 +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
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 5d7ca8f2ee adding missing raise and lower keybindings
svn path=/trunk/kdebase/kwin/; revision=59304
2000-07-30 16:15:17 +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 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 32bde0d550 desktop names
svn path=/trunk/kdebase/kwin/; revision=56406
2000-07-12 18:08:24 +00:00
Matthias Ettrich 75a6430c8f no autoraise on windows moving
svn path=/trunk/kdebase/kwin/; revision=56075
2000-07-11 11:41:52 +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 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 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 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 900e2e6c0b Use the new windowmanager interaction API
svn path=/trunk/kdebase/kwin/; revision=52623
2000-06-08 17:05:51 +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
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 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 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 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