Commit Graph

377 Commits (970e8765f0d0b9f321303bf0b1b2c04085cdf181)

Author SHA1 Message Date
Luboš Luňák 51e7514b11 No idea why I removed this in r659308.
BUG: 149011


svn path=/trunk/KDE/kdebase/workspace/; revision=703896
2007-08-23 15:08:39 +00:00
Laurent Montel 994c800d79 Adapt to new KWarning/kFatal/kDebug api
svn path=/trunk/KDE/kdebase/workspace/; revision=695877
2007-08-03 06:59:24 +00:00
Luboš Luňák 63a0120a60 Remove some no longer relevant todos.
svn path=/trunk/KDE/kdebase/workspace/; revision=689955
2007-07-19 16:38:46 +00:00
Luboš Luňák ab1582de27 It's really interesting that KWin has had support for an arbitrary root
window, but I don't think it really works these days, and it's probably
also not useful at all.


svn path=/trunk/KDE/kdebase/workspace/; revision=689949
2007-07-19 16:24:51 +00:00
Luboš Luňák 162d6ac7c9 Support for _NET_WM_SYNC_REQUEST, based on a patch
by Rayiner Hashem <gtg990h@mail.gatech.edu>.


svn path=/trunk/KDE/kdebase/workspace/; revision=679986
2007-06-25 08:51:44 +00:00
Luboš Luňák 27f67f3428 Dump support for the KDE systray mechanism. Hurray.
svn path=/trunk/KDE/kdebase/workspace/; revision=677076
2007-06-18 12:28:11 +00:00
Luboš Luňák a47797e80a Read desktop layout also during startup.
svn path=/trunk/KDE/kdebase/workspace/; revision=669892
2007-05-30 18:17:18 +00:00
Luboš Luňák 1caa3f95ed Properly check for all needed extensions and handle gracefully absence.
svn path=/trunk/KDE/kdebase/workspace/; revision=669827
2007-05-30 14:22:09 +00:00
Luboš Luňák 1040404a2a Track stacking order of unmanaged windows.
svn path=/trunk/KDE/kdebase/workspace/; revision=667686
2007-05-23 16:22:59 +00:00
Luboš Luňák 61ada25cdf Rework r293762 - enter move/resize mode also when the user just
holds the mouse button down for a moment, without moving.


svn path=/trunk/KDE/kdebase/workspace/; revision=667351
2007-05-22 15:46:42 +00:00
Luboš Luňák 8bb79367cd Merging from old trunk:
r633205 | lunakl | 2007-02-13 15:09:23 +0100 (Tue, 13 Feb 2007) | 3 lines

Implement _NET_DESKTOP_LAYOUT.


svn path=/trunk/KDE/kdebase/workspace/; revision=659545
2007-04-30 12:00:32 +00:00
Luboš Luňák 125cfda8e0 Merging from old trunk:
r626731 | lunakl | 2007-01-24 14:49:28 +0100 (Wed, 24 Jan 2007) | 4 lines

Revert r427993 (#106013) as it causes #140023.
BUG: 140023


svn path=/trunk/KDE/kdebase/workspace/; revision=659526
2007-04-30 11:36:55 +00:00
Luboš Luňák 8c5d3af9d5 Merging from old trunk:
r605401 | lunakl | 2006-11-16 17:56:16 +0100 (Thu, 16 Nov 2006) | 7 lines

Fix finding the most recently raised window when updating mouse
grab for click raise (#137119).

And I think I'll have somewhen to fix all the tabs and other
horrible things porting has done to indentation.


svn path=/trunk/KDE/kdebase/workspace/; revision=659312
2007-04-29 22:39:07 +00:00
Luboš Luňák b9ce4b2954 Merging from old trunk:
r603295 | lunakl | 2006-11-08 14:59:27 +0100 (Wed, 08 Nov 2006) | 6 lines

Ok, with a compositing manager running, VisibilityNotify no longer
considers windows not visible just because a window is above them,
so the code from r198017 no longer works.
(#128648)


svn path=/trunk/KDE/kdebase/workspace/; revision=659308
2007-04-29 22:37:19 +00:00
Luboš Luňák f52b8e48cd branches/work/kwin_composite becomes new trunk kwin.
svn path=/trunk/KDE/kdebase/workspace/; revision=659202
2007-04-29 17:35:43 +00:00
Luboš Luňák 2b7e1f4993 Remove kwin, kwin_composite will become new trunk kwin, missing merges
from trunk will be merged in.


svn path=/trunk/KDE/kdebase/workspace/; revision=659200
2007-04-29 17:34:49 +00:00
Luboš Luňák 76cb5de294 Support for effects taking control of the keyboard. Needs recent kdeui change
to work properly.


svn path=/branches/work/kwin_composite/; revision=654259
2007-04-15 16:31:13 +00:00
Luboš Luňák 67f830d223 Use symbolic name for keyboard modifiers mask instead
of hardcoded and wrong value.


svn path=/branches/work/kwin_composite/; revision=654234
2007-04-15 14:56:38 +00:00
Luboš Luňák e1406c3e42 Utility function for XGrabKeyboard().
svn path=/branches/work/kwin_composite/; revision=654227
2007-04-15 14:39:10 +00:00
Rivo Laks 02032f8587 Move most (all?) internal methods from EffectsHandler to EffectsHandlerImpl.
The ugly side effect of this is that there are tons of static_casts in the code now... maybe it
  would be better to add effectImpl() convenience method and use that?

svn path=/branches/work/kwin_composite/; revision=652348
2007-04-10 18:47:13 +00:00
Luboš Luňák 2c928221a4 namespace KWinInternal -> KWin - shorter typing of names in gdb, yay
svn path=/trunk/KDE/kdebase/workspace/; revision=650773
2007-04-05 12:12:10 +00:00
Luboš Luňák e3b865cd5f namespace KWinInternal -> KWin - shorter typing of names in gdb, yay
svn path=/branches/work/kwin_composite/; revision=650770
2007-04-05 12:07:35 +00:00
Luboš Luňák 35bbf89aed Add support for activating features using window borders/corners.
Enabled it for PresentWindowsEffect for now.


svn path=/branches/work/kwin_composite/; revision=650532
2007-04-04 19:08:03 +00:00
Luboš Luňák 3617d1bf8a Merge r649608, r649403, r649230 and r648582 from trunk (porting).
svn path=/branches/work/kwin_composite/; revision=649948
2007-04-03 13:24:05 +00:00
Luboš Luňák 414eafe505 NETRootInfo4->NETRootInfo
svn path=/trunk/KDE/kdebase/workspace/; revision=649403
2007-04-02 15:53:39 +00:00
Rivo Laks d809643245 Make it compile:
- KProcess -> K3Process rename
- fix KKeyServer::xEventToQt() argument

svn path=/branches/work/kwin_composite/; revision=647255
2007-03-27 19:59:04 +00:00
Andreas Hartmetz de2b3a656f pointer out-parameters for functions in kdelibs/kdeui/util/kkeyserver_x11.cpp
svn path=/trunk/KDE/kdebase/workspace/; revision=646639
2007-03-26 11:30:18 +00:00
Luboš Luňák 8b5b40e4e8 Shadows. Right not it's only flat black rectangle, but otherwise
everything should work.


svn path=/branches/work/kwin_composite/; revision=646315
2007-03-25 10:48:07 +00:00
Luboš Luňák f6ad1881e1 Support for window thumbnails.
svn path=/branches/work/kwin_composite/; revision=640344
2007-03-07 17:50:33 +00:00
Luboš Luňák e61ecff9b9 Check that getting compositing pixmap of a window succeeded.
It may fail (or "fail") if the window is not mapped or if the geometry
doesn't match, both of which may happen due to the asynchronous
nature of X.


svn path=/branches/work/kwin_composite/; revision=637741
2007-02-27 16:13:34 +00:00
Philip Falkner 8299541652 Add build checks for XComposite, XDamage, XRender, OpenGL, and XShm.
KWin should now build and run with/without any or all of the above.

svn path=/branches/work/kwin_composite/; revision=633387
2007-02-13 23:28:36 +00:00
Luboš Luňák a5e508590a I have a strange feeling nobody will be bothered enough to spend
time with non-composited minimize/shade animations.


svn path=/branches/work/kwin_composite/; revision=633222
2007-02-13 15:11:59 +00:00
Luboš Luňák 82c96c4bc7 Implement _NET_DESKTOP_LAYOUT.
svn path=/trunk/KDE/kdebase/workspace/; revision=633205
2007-02-13 14:09:23 +00:00
Philip Falkner a71753e5cd Change effects->windowOpacityChanged to also pass the old opacity; thanks Lubos!
Clean up FadeEffect a bit, and make it replace FadeOut in the default effects list.

svn path=/branches/work/kwin_composite/; revision=633032
2007-02-12 23:14:50 +00:00
Luboš Luňák 4019dff500 Distinguish between damage and repaints - damage is when windows contents
change, repaint just triggers repaint of the area (without e.g. the texture
updating for OpenGL).
addDamage() -> addRepaint()
CCMAIL: kwin@kde.org


svn path=/branches/work/kwin_composite/; revision=632866
2007-02-12 15:22:43 +00:00
Philip Falkner 8d0f15e655 Hook up windowOpacityChanged for effects. Note that this only affects when the window opacity atom is changed; if an effect alters data.opacity in WindowPaintData, no notification will happen.
svn path=/branches/work/kwin_composite/; revision=632582
2007-02-11 17:38:56 +00:00
Luboš Luňák 24eacc4908 Move NETWinInfo and few more things from Client to the base class.
svn path=/branches/work/kwin_composite/; revision=632380
2007-02-10 21:56:24 +00:00
Luboš Luňák 6c9d910d7f Avoid decoration redraw delays. On resize Qt sets WA_WStateConfigPending
which delays all painting until a matching ConfigureNotify event comes.
But this process itself is the window manager, so it's not needed
to wait for that event, the geometry is known.
CCBUG: 134739


svn path=/branches/work/kwin_composite/; revision=632378
2007-02-10 21:55:00 +00:00
Luboš Luňák 77719858b0 Damage also the old area on geometry changes.
svn path=/branches/work/kwin_composite/; revision=628608
2007-01-30 16:52:05 +00:00
Luboš Luňák 7cb649edcb Tell scene about size changes.
svn path=/branches/work/kwin_composite/; revision=628606
2007-01-30 16:49:08 +00:00
Luboš Luňák f9555cf69e Revert r427993 (#106013) as it causes #140023.
BUG: 140023


svn path=/trunk/KDE/kdebase/workspace/; revision=626731
2007-01-24 13:49:28 +00:00
Philip Falkner e3cf0dd455 Move window_pix into Toplevel, allowing the backing pixmap to be kept even after a window is unmapped.
This is needed for effects to make use of unavailable windows, such as when closing a window.

svn path=/branches/work/kwin_composite/; revision=622777
2007-01-12 23:21:36 +00:00
Luboš Luňák de4d1bc518 Implement cursorPos() as an optimized version of QCursor::pos()
that tries to reduce the number of X roundtrips.


svn path=/branches/work/kwin_composite/; revision=620326
2007-01-05 17:45:54 +00:00
Luboš Luňák 1765551277 Support for "input windows" that let effects intercept mouse events
when they e.g. want to let the user select from window thumbnails.


svn path=/branches/work/kwin_composite/; revision=620305
2007-01-05 16:45:56 +00:00
Luboš Luňák 2e84c74fc8 Functions also for converting from X11 mouse/keyboard state
to Qt mouse/keyboard state.


svn path=/branches/work/kwin_composite/; revision=620299
2007-01-05 16:32:32 +00:00
Luboš Luňák ab8d845718 Reset compositing on XRandr changes to react on screen
size or refresh rate changes, patch by Philip Falkner.


svn path=/branches/work/kwin_composite/; revision=610114
2006-12-03 13:29:57 +00:00
Luboš Luňák d426d9dcd4 Don't let the damage region be larger than the window,
prevent painting errors when shrinking a window.


svn path=/branches/work/kwin_composite/; revision=607510
2006-11-24 21:50:10 +00:00
Luboš Luňák bb2299e00b Ignore if there are actually no geometry changes.
svn path=/branches/work/kwin_composite/; revision=605571
2006-11-17 09:19:58 +00:00
Luboš Luňák 43a945cd33 Fix finding the most recently raised window when updating mouse
grab for click raise (#137119).

And I think I'll have somewhen to fix all the tabs and other
horrible things porting has done to indentation.


svn path=/trunk/KDE/kdebase/workspace/; revision=605401
2006-11-16 16:56:16 +00:00
Luboš Luňák 3a0e22ebe3 Ok, with a compositing manager running, VisibilityNotify no longer
considers windows not visible just because a window is above them,
so the code from r198017 no longer works.
(#128648)


svn path=/trunk/KDE/kdebase/workspace/; revision=603295
2006-11-08 13:59:27 +00:00
Luboš Luňák 4110fc1c3a Support for XComposite overlay window.
svn path=/branches/work/kwin_composite/; revision=603137
2006-11-07 22:44:39 +00:00
Luboš Luňák 585678f309 Don't eat events for unmanaged windows, they may be kwin's
own widgets. Makes popups work.


svn path=/branches/work/kwin_composite/; revision=602429
2006-11-05 23:34:10 +00:00
Luboš Luňák 3f46d36bb9 Add convenience functions for damaging full area.
svn path=/branches/work/kwin_composite/; revision=598834
2006-10-24 19:28:17 +00:00
Luboš Luňák b168c35384 Don't cache window pixmap, it's used only after it
changes.


svn path=/branches/work/kwin_composite/; revision=593453
2006-10-07 21:20:23 +00:00
Luboš Luňák 06203d0652 Don't bother with trying to transform window damage,
when there are any transformations, it should simply
repaint everything (todo).


svn path=/branches/work/kwin_composite/; revision=593450
2006-10-07 21:18:36 +00:00
Luboš Luňák ace6b4ad8a Opengl support for shaped windows.
svn path=/branches/work/kwin_composite/; revision=590728
2006-09-30 17:28:27 +00:00
Luboš Luňák 649887d6c2 Looks like using XserverRegion for keeping damage regions
wasn't that good idea. Changed to QRegion.


svn path=/branches/work/kwin_composite/; revision=590648
2006-09-30 15:40:03 +00:00
Luboš Luňák fa8cd7541f It wasn't a very good idea to do even compositing-unrelated
work in the work/kwin_composite branch.
svn merge revs 558154,558180,558236,558243,558258,562201


svn path=/trunk/KDE/kdebase/workspace/; revision=571776
2006-08-10 17:00:14 +00:00
Luboš Luňák e24815411a Keep damage info separately for every window.
svn path=/branches/work/kwin_composite/; revision=561966
2006-07-13 18:17:49 +00:00
Luboš Luňák 0516e1e73b Add support for translation and add two "plugins" that
make windows transparent or shake them while moving.


svn path=/branches/work/kwin_composite/; revision=559013
2006-07-06 13:17:44 +00:00
Luboš Luňák c7f515630d Support for transparency.
svn path=/branches/work/kwin_composite/; revision=558690
2006-07-05 20:52:57 +00:00
Luboš Luňák f400646a6d xrender compositing work - now it uses damage areas
to reduce amount of painting


svn path=/branches/work/kwin_composite/; revision=558580
2006-07-05 16:04:11 +00:00
Luboš Luňák dfe8968d8e Handle expose events for root window.
svn path=/branches/work/kwin_composite/; revision=558264
2006-07-04 23:46:02 +00:00
Luboš Luňák 571ba9cf9e Basic compositing support. It doesn't actually do anything
besides drawing what should be drawn anyway, and there are
still some things missing like stacking order for override
redirect windows, but KWin is basically a compositing manager now.


svn path=/branches/work/kwin_composite/; revision=558168
2006-07-04 20:02:07 +00:00
Luboš Luňák e0dcc3ba46 Some convenience functions for QX11Info stuff.
svn path=/branches/work/kwin_composite/; revision=558154
2006-07-04 19:36:19 +00:00
Thorsten Roeder d68dafda6b fixed some EBN issues
svn path=/trunk/KDE/kdebase/workspace/; revision=546993
2006-05-31 16:23:36 +00:00
Laurent Montel 5725624c8b #include <q...h> -> #include <Q...>
svn path=/trunk/KDE/kdebase/workspace/; revision=540496
2006-05-13 16:33:18 +00:00
Tobias Koenig 848bc14335 deprecated--
svn path=/trunk/KDE/kdebase/workspace/; revision=529106
2006-04-12 15:13:31 +00:00
Thorsten Roeder 98fa3320c5 deprecated--
basically:
QRegExp::search() --> QRegExp::indexIn()
QString::find() --> QString::indexOf()
QString::findRev() --> QString::lastIndexOf()
QString::lower() --> QString::toLower()
QString::upper() --> QString::toUpper()
QString::setLength() --> QString::resize()
QByteArray::find() --> QByteArray::indexOf()
QByteArray::findRev() --> QByteArray::lastIndexof()
QTimer::start(ms,sShot) --> {QTimer::setSingleShot() ; QTimer::start()}
QList::remove() --> QList::removeAll()
iterator QList::remove() --> iterator QList::erase()
QComboBox::text() --> QComboBox::itemText()
QByteArray::upper() --> QByteArray::toUpper()
QByteArray::lower() --> QByteArray::toLower()
QString::contains() --> QString::contains()
QEvent::accept(bool) --> QEvent::setAccepted(bool)


svn path=/trunk/KDE/kdebase/workspace/; revision=528719
2006-04-11 17:12:05 +00:00
Luboš Luňák 4d8462f579 Move minimized windows to the right place in focus chain.
(#124807)


svn path=/trunk/KDE/kdebase/workspace/; revision=528632
2006-04-11 14:52:27 +00:00
Luboš Luňák 5d1255dd73 Ok, I've had enough with Alt+Tab and mouse focus policies:
- use click to focus or focus follows mouse and I'll be fine
- with the remaining unreasonable focus policies only the CDE-style
  tabbox works that raises and lowers windows and ignores
  keep above/below windows
- if you don't like that, provide a patch for kwin/tabbox.cpp
- tabbox should be completely redesigned for KDE4
(#123890,#105263,#84424)


svn path=/trunk/KDE/kdebase/workspace/; revision=528579
2006-04-11 12:59:59 +00:00
Hamish Rodda 77bc9cd63d Merging in from bleeding edge kdebase branch
- i18n ported
- KAccel removed
- Some fixes for OS X

svn path=/trunk/KDE/kdebase/workspace/; revision=528190
2006-04-10 11:57:13 +00:00
Luboš Luňák 3c6af0ff28 Use a separate focus chain for each virtual desktop - this prevents onalldesktop
windows from usually getting focus after every virtual desktop switch.
Thanks for most of the work go to Guido Fiala <gfiala@s.netic.de>.
(#33701)


svn path=/trunk/KDE/kdebase/workspace/; revision=514057
2006-02-27 10:13:31 +00:00
Luboš Luňák 5d4876671f Revert r499346, seems to cause some trouble.
svn path=/trunk/KDE/kdebase/workspace/; revision=511621
2006-02-20 14:33:39 +00:00
Allen Winter ae65a40c7a TRUE->true, FALSE->false
svn path=/trunk/KDE/kdebase/workspace/; revision=511180
2006-02-19 01:33:48 +00:00
Laurent Montel 0fa10f318d Deprecated--
svn path=/trunk/KDE/kdebase/workspace/; revision=506323
2006-02-06 14:47:18 +00:00
Luboš Luňák 7c6c0fec6e Workaround for #100117, already fixed in X.org CVS.
svn path=/trunk/KDE/kdebase/workspace/; revision=499346
2006-01-17 16:19:49 +00:00
Luboš Luňák f383444490 Implement _NET_WM_MOVERESIZECANCEL.
svn path=/trunk/KDE/kdebase/workspace/; revision=494911
2006-01-06 15:20:46 +00:00
Laurent Montel 1c3e66488b Adapt to new kde4 api
Remove some qt3support

svn path=/trunk/KDE/kdebase/workspace/; revision=478902
2005-11-08 10:20:07 +00:00
Laurent Montel 0370410f0f qt3support--
svn path=/trunk/KDE/kdebase/workspace/; revision=474743
2005-10-27 09:07:06 +00:00
Stephan Kulow b0c01d70a4 compile
svn path=/trunk/KDE/kdebase/khotkeys/; revision=473016
2005-10-22 12:05:06 +00:00
Stephan Kulow 6c821aba01 some more compiling
svn path=/trunk/KDE/kdebase/workspace/; revision=473006
2005-10-22 11:35:06 +00:00
Shaheed Haque 8d2e997ce3 Restore ability to compile against kdelib4_snapshot
svn path=/trunk/KDE/kdebase/workspace/; revision=460303
2005-09-13 10:14:32 +00:00
Caleb Tennis 393eeac4a0 Take advantage of the new KKeyNative functions per my commit #457838.
svn path=/trunk/KDE/kdebase/workspace/; revision=457839
2005-09-06 19:02:49 +00:00
Luboš Luňák 512fb17a95 Forward port of #108961.
svn path=/trunk/KDE/kdebase/kwin/; revision=442363
2005-08-02 13:25:20 +00:00
Stephan Kulow b464518b3c svn merge svn+ssh://coolo@svn.kde.org/home/kde/trunk/KDE/kdebase@438057
svn+ssh://coolo@svn.kde.org/home/kde/branches/work/kde4/kdebase
          .

I couldn't resolve one kicker conflict that results from different
development directions, so I rely on Aaron to sort it out - the file
is commited with conflicts

svn path=/trunk/KDE/kdebase/kwin/; revision=439627
2005-07-28 14:59:42 +00:00
Luboš Luňák 170111c4e9 Find out what keys are mapped to Alt and Win modifiers instead of having it hardcoded.
I fail to see why anybody would want Alt bound to anything else
than Alt keys, but oh well.
BUG: 106013


svn path=/trunk/KDE/kdebase/kwin/; revision=427993
2005-06-22 15:44:24 +00:00
Luboš Luňák 96e1fdab6c Use KNotify for notifications about windows demanding attention.
People who use hidden Kicker, have their taskbar configured to show
only windows on the current desktop or similar now may configure
it so that windows that didn't get focus because of focus stealing
prevention now can not only have their taskbar entry marked
but there can be e.g. also a passive popup.


svn path=/trunk/KDE/kdebase/kwin/; revision=419727
2005-05-30 13:31:33 +00:00
Luboš Luňák 238586e608 It was necessary after all.
BUG: 72346


svn path=/trunk/KDE/kdebase/kwin/; revision=413125
2005-05-13 12:32:33 +00:00
Luboš Luňák 5722d3fac8 Implement _NET_SHOWING_DESKTOP, giving control of the 'show desktop'
feature to KWin. There shouldn't hopefully be any visible user
difference other than fixed bugs.
BUG: 78109
BUG: 99524


svn path=/trunk/KDE/kdebase/kwin/; revision=413066
2005-05-13 08:57:21 +00:00
Luboš Luňák ced5ab580a Die, window type override, die! Since nobody really knows what this window
type means anyway, let's simply consider it to be a legacy way of saying "noborder"
and nothing more.


svn path=/trunk/KDE/kdebase/kwin/; revision=412372
2005-05-11 14:20:54 +00:00
Luboš Luňák fc90a04635 Make it possible to do all kinds of strange things when mousewheeling
the titlebar or Alt+mousewheeling the window.
FEATURE:44318
FEATURE:66519
FEATURE:76188


svn path=/trunk/KDE/kdebase/kwin/; revision=410058
2005-05-06 15:20:49 +00:00
Luboš Luňák 9c34475e4e Make only left mouse on window borders move/resize windows.
BUG: 83378

svn path=/trunk/kdebase/kwin/; revision=408633
2005-04-29 15:14:10 +00:00
Thomas Lübking 8ad47028f6 Added composite (translucency/shadows) support
svn path=/trunk/kdebase/kwin/; revision=378790
2005-01-15 17:07:48 +00:00
Luboš Luňák 2d41d88fff This should fix some of the cannot-move-windows-after-being-logged-in-for-long-time
problems.

svn path=/trunk/kdebase/kwin/; revision=377222
2005-01-10 16:53:11 +00:00
Luboš Luňák e3cd04c5de break missing.
svn path=/trunk/kdebase/kwin/; revision=372733
2004-12-22 13:00:59 +00:00
Luboš Luňák 5baf4a79c4 Try harder to restore focus if something sets it to null.
svn path=/trunk/kdebase/kwin/; revision=365079
2004-11-22 11:34:09 +00:00
Luboš Luňák a2a55c8436 Make electric borders work also during DND. Blame David and George
for getting me in Santa Claus mood.
FEATURE:86998

svn path=/trunk/kdebase/kwin/; revision=361725
2004-11-09 15:38:33 +00:00
Luboš Luňák 053e2f669d Obey activation from Kicker etc. even with high focus stealing prevention
levels.
CCMAIL: 90733-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=352123
2004-10-05 15:46:43 +00:00
Luboš Luňák 001646f3d8 Really fix MPlayer. It's nice to see people trust me and nobody has
actually tested MPlayer.

svn path=/trunk/kdebase/kwin/; revision=335441
2004-08-03 09:21:18 +00:00
Luboš Luňák 8033d09cce Dynamically detect changes of Motif hints instead of just reading
them once initially. At least MPlayer changes them while mapped.

svn path=/trunk/kdebase/kwin/; revision=333174
2004-07-27 08:35:51 +00:00
Luboš Luňák 58e12da8b7 #53420 - don't let normal windows go out of the workarea if they request
it.

svn path=/trunk/kdebase/kwin/; revision=329883
2004-07-16 11:25:07 +00:00
Luboš Luňák 6060ceb9eb Keep window role as lowercase, just like wmclass, for rules matching.
svn path=/trunk/kdebase/kwin/; revision=324251
2004-06-28 13:47:02 +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 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 4952833028 Fix updateXTime() to make sure the X timestamp doesn't get newer than
timestamp of events still in the X events queue.
CCMAIL: 81693-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=314035
2004-05-24 08:54:04 +00:00
Luboš Luňák 36a1cd4b18 Detect also X focus policy set to PointerRoot, and re-activate the active
window instead of setting focus to null focus window.
CCMAIL: 81145-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=310051
2004-05-10 14:06:32 +00:00
Luboš Luňák 5da0e37909 Handle the case when there's actually no key for 4th modifier.
svn path=/trunk/kdebase/kwin/; revision=306807
2004-04-27 14:59:47 +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 f0fcba2d6d Oops, fix clickraise.
CCMAIL: 57111-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=304929
2004-04-19 14:29:37 +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
Luboš Luňák a6adcb9056 Ignore FocusIn events for clients which were unmapped by kwin
but had got focus shortly before. Otherwise quick switching between
two virtual desktops with Konsoles can result in demand attention
state.

svn path=/trunk/kdebase/kwin/; revision=295169
2004-03-11 13:15:04 +00:00
Luboš Luňák ff081c36a0 Fix #76394,
svn path=/trunk/kdebase/kwin/; revision=293762
2004-03-05 14:22:11 +00:00
Luboš Luňák 458573e997 Oops, clicking on the titlebar started drag, broken by last commit.
svn path=/trunk/kdebase/kwin/; revision=293758
2004-03-05 14:07:11 +00:00
Luboš Luňák e329c3d872 Use a separate InputOnly window covering whole screen because it
reportedly improves move/resize performance on some systems
for some reason which I fail to see, but oh well.
(http://lists.kde.org/?t=107302193400001&r=1&w=2)

svn path=/trunk/kdebase/kwin/; revision=293755
2004-03-05 13:39:27 +00:00
Luboš Luňák aa8f2d6607 Fix some focus stealing prevention problems when timestamp is not
explicitly specified.

svn path=/trunk/kdebase/kwin/; revision=293135
2004-03-02 16:43:29 +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
Luboš Luňák 53eefc6ed3 Before getting event about focus being set to None, really check if it's
still so before reseting it. Fixes problem with kview run from konsole,
set to fullscreen, set back to normal, closed -> konsole doesn't become
active.

svn path=/trunk/kdebase/kwin/; revision=290622
2004-02-23 17:09: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 0c051481e9 Fix #74063 - if there's a restacking operation, cancel pending autoraise
for the window.

svn path=/trunk/kdebase/kwin/; revision=286801
2004-02-10 14:46:03 +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 b525af029e Avoid sending synthetic configure notify events with user moving/resizing
when a real one will be sent.

svn path=/trunk/kdebase/kwin/; revision=284785
2004-02-03 15:18:15 +00:00
Luboš Luňák 10405ee978 Optimize MotionNotify discarding while moving/resizing.
svn path=/trunk/kdebase/kwin/; revision=284784
2004-02-03 15:16:58 +00:00
Luboš Luňák 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 52be7d1164 Fix last commit.
svn path=/trunk/kdebase/kwin/; revision=277199
2004-01-06 09:42:00 +00:00
Luboš Luňák 981e44f780 Fix leaking of button grabs.
http://lists.kde.org/?l=kwin&m=107297332416607&w=2

svn path=/trunk/kdebase/kwin/; revision=276957
2004-01-05 13:29:00 +00:00
Luboš Luňák 5a171eac2b If there's a MapRequest in the wrapper window, this means something
has reparented an unknown window inside the wrapper, and wants to show it.
This is either somebody doing something stupid, or it's a save-set saved
window from some crashing application. And save-set is a bit flawed,
as it in fact should reparent to root, not to the closest existing ancestor.
Therefore, act like if it was reparented to root, and manage the window.
Takes care of #68241.

svn path=/trunk/kdebase/kwin/; revision=273671
2003-12-18 12:25:22 +00:00
Luboš Luňák 05b1897258 Make it possible for Client to pass an XEvent to Workspace for handling
it (will be needed for the following MapRequest handling for save-sets).

svn path=/trunk/kdebase/kwin/; revision=273669
2003-12-18 12:20:22 +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 569224d117 Replace the temporary MousePosition enum naming with something that
doesn't look so silly and doesn't conflict with Qt.

svn path=/trunk/kdebase/kwin/; revision=273144
2003-12-15 15:10:17 +00:00
Luboš Luňák ba3e612f68 There should be some isMoveResizeMode().
svn path=/trunk/kdebase/kwin/; revision=272513
2003-12-11 18:00:01 +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
Luboš Luňák 5bbec2c584 Compress MotionNotify events while user moving/resizing, this should
make opaque resizing acceptable again, close #67471, and stop people
complaining.

svn path=/trunk/kdebase/kwin/; revision=269302
2003-11-24 14:38:03 +00:00
Luboš Luňák 162c76cf46 Reset Client::buttonDown if startMoveResize() failed
due to not being able to grab input. Visible with
resizing the shortcut configure dialog, which has grab.

svn path=/trunk/kdebase/kwin/; revision=269293
2003-11-24 14:24:34 +00:00
George Staikos f859769bb3 use the settings for xinerama placement
svn path=/trunk/kdebase/kwin/; revision=268721
2003-11-21 23:05:35 +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 528b0ed6d7 Fix #65279 - make sure windows hidden by apps are really hidden.
The problem was visible even with { widget.show(); widget.hide(); }.

svn path=/trunk/kdebase/kwin/; revision=268645
2003-11-21 16:46:57 +00:00
Luboš Luňák 1f4cc0d542 Fix problem with kppp's systray icon reappearing
(http://lists.kde.org/?l=kde-core-devel&m=106931968918881&w=2).

svn path=/trunk/kdebase/kwin/; revision=268359
2003-11-20 11:56:01 +00:00
Luboš Luňák b55f71dcb7 Debug output not necessary anymore.
svn path=/trunk/kdebase/kwin/; revision=268009
2003-11-18 17:07:40 +00:00
Luboš Luňák d369e69db0 KWin controls showing/hiding of topmenus, block requests for it.
svn path=/trunk/kdebase/kwin/; revision=266171
2003-11-10 18:50:38 +00:00
Luboš Luňák 0d96e60c81 Yet another workaround for the crappy systray mechanism, looking forward
to deprecate it. The tray should work again now.

svn path=/trunk/kdebase/kwin/; revision=263494
2003-10-31 17:56:10 +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 20ffdc2263 Send synthetic configure notify event when manually moving/resizing.
svn path=/trunk/kdebase/kwin/; revision=258903
2003-10-14 15:33:05 +00:00
Luboš Luňák 984c76f0c1 More shade related changes.
svn path=/trunk/kdebase/kwin/; revision=257727
2003-10-10 13:00:26 +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 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 ca3a1382f2 Drop configure events compression
a) it's wrong (it may e.g. miss gravity change)
b) I doubt it improves anything

svn path=/trunk/kdebase/kwin/; revision=255354
2003-10-01 12:08:09 +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 0050bd7155 Don't miss synhetic UnmapNotify from XWithdrawWindow() sent
to the root window.

svn path=/trunk/kdebase/kwin/; revision=254877
2003-09-29 14:39:02 +00:00
Luboš Luňák 79796b2fb7 Make keyboard move/resize faster with Alt pressed.
svn path=/trunk/kdebase/kwin/; revision=254811
2003-09-29 11:19:55 +00:00
Luboš Luňák e82bcc09ac Move Client::keyPressEvent() to the source file where it belongs.
svn path=/trunk/kdebase/kwin/; revision=254809
2003-09-29 11:19:39 +00:00
Luboš Luňák 81c3ff262b This can actually happen with moving/resizing started from keyboard,
buttonDown is then set manually.

svn path=/trunk/kdebase/kwin/; revision=253817
2003-09-25 10:37:27 +00:00
Luboš Luňák 8e367689cd Rework restricted move/resize to be readable, and as a side effect make
it finally work correctly.

svn path=/trunk/kdebase/kwin/; revision=253801
2003-09-25 09:29:18 +00:00
Luboš Luňák b1fe242be0 Use the right parts of XEvent with MotionNotify.
svn path=/trunk/kdebase/kwin/; revision=253800
2003-09-25 09:28:56 +00:00
Luboš Luňák 592a92f00b Move code related to mouse window resizing to geometry.cpp .
svn path=/trunk/kdebase/kwin/; revision=253538
2003-09-24 10:55:54 +00:00
Luboš Luňák 84dc01a473 Since Workspace::workspaceEvent() now checks also for windowwrapper
and frame events, it's not necessary to handle them specially
there. Also move DestroyNotify handling to windowEvent().

svn path=/trunk/kdebase/kwin/; revision=252355
2003-09-19 11:16:57 +00:00
Luboš Luňák d8406cf439 Cleanup of Motif hints. Ignore hints forbidding minimize/maximize.
Fix using isResizable()/isMovable() instead of only checking the Motif hint.

svn path=/trunk/kdebase/kwin/; revision=252351
2003-09-19 11:14:16 +00:00
Luboš Luňák d5dd99ba82 Ensure that KDecoration::width() etc. and KDecoration::widget()->width are
in sync.

svn path=/trunk/kdebase/kwin/; revision=252350
2003-09-19 11:13:24 +00:00
Luboš Luňák 1451910bc6 Allow resizing of a window back to its original geometry.
svn path=/trunk/kdebase/kwin/; revision=252347
2003-09-19 11:12:06 +00:00
Luboš Luňák 9fac9d2a43 Fixes for mousePosition().
Since Qt propagates mouse events up the widget hierarchy, it's better
to filter out Qt events rather than X events for the decoration.

svn path=/trunk/kdebase/kwin/; revision=252346
2003-09-19 11:11:07 +00:00
Luboš Luňák 5f4b9de17c Small cleanup of mouse events handling.
svn path=/trunk/kdebase/kwin/; revision=252345
2003-09-19 11:08:37 +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 a70edeb06c I'd like to be able to send KWin KNotify evets to a file.
svn path=/trunk/kdebase/kwin/; revision=181297
2002-09-30 12:57:59 +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
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
Charles Samuels fbc7c46935 Bleh #1
svn path=/trunk/kdebase/kwin/; revision=63811
2000-09-14 03:10:03 +00:00
Matthias Ettrich 16e4aa004c even more sounds
svn path=/trunk/kdebase/kwin/; revision=62337
2000-08-31 17:20:45 +00:00
Matthias Ettrich d7472a2387 reset desktop property on withdraw
svn path=/trunk/kdebase/kwin/; revision=57550
2000-07-17 17:10:00 +00:00
Charles Samuels 2c0910a283 take a look. it handles notifications now! :)
remove $KDEHOME/share/apps/kwin/eventsrc first, do a fresh make install
here, and hit the sticky button ;)

the little pop sound is made by a microphone and me! :)

svn path=/trunk/kdebase/kwin/; revision=52665
2000-06-08 23:44:41 +00:00
Charles Samuels ee137a0ad7 CVS_SILENT
this is how it should be. I mean it this time!

svn path=/trunk/kdebase/kwin/; revision=48802
2000-05-08 04:50:20 +00:00
Charles Samuels 8f3cda3051 Undone edit to events.cpp (since I goofed on it)
svn path=/trunk/kdebase/kwin/; revision=48801
2000-05-08 04:39:12 +00:00
Charles Samuels b772cfb65b The events are called by the section headers in eventsrc (not by "Name").
They won't be called by default since "default_presentation" is set to 0

eventsrc is just updated for a few more events.  (Some don't have proper
descriptions since I don't know what they do)

svn path=/trunk/kdebase/kwin/; revision=48785
2000-05-07 23:21:23 +00:00
Matthias Ettrich 1671d0ddc7 knotify doesn't seem to be usable
svn path=/trunk/kdebase/kwin/; revision=48779
2000-05-07 23:05:46 +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