Commit Graph

354 Commits (2e1f02821051218024626779332685bfbb589c95)

Author SHA1 Message Date
Martin Gräßlin 57905c0cc2 And we got rid of KDebug
Usages of kBacktrace got dropped.
2013-09-02 13:14:39 +02:00
Martin Gräßlin 16df417cc6 XCB variant for displayWidth/Height and update after RandR event
DisplayWidth and height provide proper values though internally
things are wrong as QDesktopWidget seems to not emit the signal.
2013-09-02 10:23:30 +02:00
Martin Gräßlin 7ed07e45c7 Do not pass events with no window to the findClient - windowEvent cascade
If the eventWindow is none the check for InputIdMatchPredicate will find
a matching Client and pass the even through the windowEvent filter which
returns true for all not handled events and thus filters out all events
processed later on in KWin.

This explains why some events were eaten...
2013-08-30 13:34:29 +02:00
Martin Gräßlin 37334f400a Drop no longer needed XLib includes from KWin 2013-08-20 10:29:20 +02:00
Martin Gräßlin e21225fa47 Use XCB Shape instead of XLib Shape in KWin core 2013-08-20 09:48:14 +02:00
Martin Gräßlin 9c225200bf Fix typo 2013-08-13 11:24:07 +02:00
Martin Gräßlin 9291b18cee Merge branch 'master' into frameworks-scratch
Conflicts:
	CMakeLists.txt
	kwin/effects.cpp
	kwin/effects/logout/logout.cpp
	kwin/effects/presentwindows/main.qml
	kwin/effects/presentwindows/presentwindows.cpp
	kwin/effects/presentwindows/presentwindows.h
	kwin/effects/zoom/zoom_config.cpp
	kwin/libkwineffects/kwinglutils_funcs.cpp
	kwin/libkwineffects/kwinxrenderutils.cpp
	kwin/nvidiahack.cpp
	kwin/xcbutils.h
	plasma/desktop/containments/desktop/plasma-containment-desktop.desktop
	plasma/generic/wallpapers/image/image.cpp
	plasma/generic/wallpapers/image/plasma-wallpaper-image.desktop
2013-08-07 10:10:06 +02:00
Martin Gräßlin 46f57221e4 Mouse motion event compression
Using a QTimer to move the resize/move related code to the end of the
event queue. In case there is another motion event in the queue it will
cancel the timer.
2013-08-06 11:20:27 +02:00
Martin Gräßlin 330003cdee Replacement for XEvent queue inspection in FocusOut event case
Instead of inspecting the XEvent queue we create a Timer with a
singleshot of 0 msec to move the setActive(false) call to the end of the
event handling. In case there is a matching FocusIn event this will be
handled before the timer fired and can cancel the timer.
2013-08-05 09:48:14 +02:00
Thomas Lübking 6c420f2b11 don't require geometry changes for quick max/tile
the present check can break quick everything depending
on screen snapping settings.
It so far. only worked for quick maximization due to horizontal
"judder" and failed whenever that judder was not possible
(due to screen snapping on left and/or right edge)

BUG: 322852
FIXED-IN: 4.11
REVIEW: 111740
2013-08-02 22:04:28 +02:00
Martin Gräßlin 4b97fb542e Enable passing xcb events through NETRootInfo and NETWinInfo
Requires ab8f4532f5f12db19bcc09c1f297f1b7d55efb48 from frameworks.
2013-08-02 13:53:21 +02:00
Martin Gräßlin 41bb797919 Fix Client unmapNotify event handling
We get the missing send event attribute from anding the event's
response type with 0x80.

This fixes the issue that all open windows got unmapped. The reason for
this was that the existing new Client got reparented to the wrapper which
caused the UnmapNotify event which we used to release the Client and by
that unmapping the window completely.
2013-08-02 10:30:25 +02:00
Martin Gräßlin d90d0f5c8e Improve event handling for screen edge activation on XCB
It still doesn't trigger properly - might be fixed if KDE/4.11 gets
merged into this branch again.
2013-08-01 11:36:38 +02:00
Martin Gräßlin b96d16e63d Disable mouse motion event compression
We cannot inspect the event loop - this needs proper porting.
2013-07-31 14:05:52 +02:00
Martin Gräßlin 94e4a31370 Port from XLib XSync to xcb sync 2013-07-31 14:05:24 +02:00
Martin Gräßlin 7408e36340 Drop X event handling from Group
Dead code
2013-07-30 10:11:51 +02:00
Martin Gräßlin 075b0602e9 Get proper event window from xcb event
Find the event window and try to get a Client or Unmanaged from it
to pass it through the filter.
2013-07-29 09:00:44 +02:00
Martin Gräßlin 36984d69be Enable shape and damage notify event handling in Client 2013-07-29 09:00:44 +02:00
Martin Gräßlin c3760cbe3d Enable reparent notify and client message event handling in Client 2013-07-29 09:00:44 +02:00
Martin Gräßlin d47d0b2eb8 Enable focus out event handling in Client
Focus out handling used to check the event queue for a matching focus in
event to prevent short flickers when no window is active. This is not
possible with XCB and needs a replacement. Maybe a short timer event.
2013-07-29 09:00:44 +02:00
Martin Gräßlin 6af74b86f4 Enable focus in event handling in Client 2013-07-29 09:00:44 +02:00
Martin Gräßlin bf775b1c0e Enable leave notify event handling in Client
Still has an XQueryPointer which needs to be ported.
2013-07-29 09:00:44 +02:00
Martin Gräßlin ed24ac86d2 Enable enter notify event handling in Client 2013-07-29 09:00:44 +02:00
Martin Gräßlin 4e154bdd87 Enable key press/release and mouse event handling in Client 2013-07-29 09:00:43 +02:00
Martin Gräßlin 302c94f280 Enable configure request event handling in Client
Still needs to port an XConfigureWindow to XCB.
2013-07-29 09:00:43 +02:00
Martin Gräßlin 58c7617928 Enable map request event handling in Client 2013-07-29 09:00:43 +02:00
Martin Gräßlin 7acfb339b1 Enable destroy notify event handling in Client 2013-07-29 09:00:43 +02:00
Martin Gräßlin 958e47b36c Enable unmap notify event handling in Client
Interestingly the attribute send_event from XUnmapEvent does not exist in
xcb_unmap_notify_event_t and also the X protocol doesn't know anything
about send event.
2013-07-29 09:00:43 +02:00
Martin Gräßlin df4b43ea78 Enable property notify event handling in Client and Unmanaged 2013-07-29 09:00:43 +02:00
Martin Gräßlin 94f23c1877 Enable X extension event handling in Unmanaged 2013-07-29 09:00:43 +02:00
Martin Gräßlin 188d01567d Enable configure notify event handling in Unmanaged 2013-07-29 09:00:43 +02:00
Martin Gräßlin 62c044601b Enable (un)map notify event filtering in Unmanaged
The specific methods are dropped as UnmapNotify event is not used at all
and just delegates to another method and map notify was noop.
2013-07-29 09:00:42 +02:00
Martin Gräßlin ce10105dfc Enable event handling for the X extension events
* Randr still needs XCB adjustments
* Client::syncEvent needs porting to XCB
2013-07-29 09:00:42 +02:00
Martin Gräßlin 59a2da3b1e Enable visibility notify event handling 2013-07-29 09:00:42 +02:00
Martin Gräßlin 2ec9be5731 Enable expose event handling 2013-07-29 09:00:42 +02:00
Martin Gräßlin eb17d9b518 Enable client message event handling 2013-07-29 09:00:42 +02:00
Martin Gräßlin 50113e0560 Enable focus in/out event handling
Focus in has XLib code which needs to be ported to XCB.
2013-07-29 09:00:42 +02:00
Martin Gräßlin 8a93690216 Enable configure request event handling
Still uses XLib configure window, this should be ported but not at
the same time as the event handling.
2013-07-29 09:00:42 +02:00
Martin Gräßlin 70f93c12a8 Enable enter/leave notify event handling 2013-07-29 09:00:42 +02:00
Martin Gräßlin 939c2d14c1 Enable map notify event handling
As part of it Unmanaged::windowEvent() takes an xcb_generic_event_t*
instead of XEvent* as argument. Method of course still needs porting.
2013-07-29 09:00:41 +02:00
Martin Gräßlin c863029b8d Enable map request event processing
Also replaces XMapRaised by xcb equivalent.
2013-07-29 09:00:41 +02:00
Martin Gräßlin f70208c7c4 Enable unmap, reparent and destroy notify event handling 2013-07-29 09:00:41 +02:00
Martin Gräßlin 69655199cd Enable create notify event handling
Also port from XChangeProperty to xcb_change_property.
2013-07-29 09:00:41 +02:00
Martin Gräßlin e4415d370c Enable the event filtering for the movingClient
This requires to have the Client::windowEvent() take an
xcb_generic_event_t* instead of XEvent*. Currently functionality is
ifdefed.
2013-07-29 09:00:41 +02:00
Martin Gräßlin e378cb6dba Enable configure notify event handling 2013-07-29 09:00:41 +02:00
Martin Gräßlin 334cf10d7d Enable Key Press/Release events
Requires review 373d812a636da898a0f1cc017fa2c9dd4ff50381 on
kdelibs frameworks.
2013-07-29 09:00:20 +02:00
Martin Gräßlin 485f0a3e06 Process mouse events
Button Press/Release do no longer fall through to motion notify as
there is no shared mouse event in xcb. Also the methods in Effects and
TabBox are adjusted to process only button press/release or motion
notify.

ScreenEdges are no longer checked for button press/release. They don't
interact on button press/release so there is no need to check it.
2013-07-29 08:58:05 +02:00
Martin Gräßlin d81c45a810 Disable updating rootInfo for property notify or client message
This needs porting in KWindowSystem first.
2013-07-29 08:58:05 +02:00
Martin Gräßlin 206fd10ea8 Pass events through an active window killer 2013-07-29 08:58:05 +02:00
Martin Gräßlin 1c3e0de31d Stop keyboard event processing if effects have a grab 2013-07-29 08:58:05 +02:00