Martin Gräßlin
a90072d753
Merge KDecorationUnstable into KDecoration
...
Also KCommonDecorationUnstable is merged into KCommonDecoration.
2013-09-12 09:27:38 +02:00
Martin Gräßlin
108252194a
Use Xcb::Atom in KWin::Atoms to resolve all atoms
...
During startup we only create the request, the reply will be fetched
once the atom is needed.
To make proper use of this async behavior the creation of Atoms is
moved directly to the claim of the manager selection, so they can be
fetched while we wait for the previous manager selection to give up
on it.
2013-09-10 15:30:11 +02:00
Martin Gräßlin
439122e2bc
Use Xcb::CurrentInput in the focus in event handler
2013-09-10 15:30:11 +02:00
Martin Gräßlin
77edf8eb69
Port all XAllowEvents to xcb_allow_events in kwin
2013-09-10 15:30:11 +02:00
Martin Gräßlin
1fd857eecb
And add the grabButton() to Xcb::Window
...
Again most of the arguments have a default value to ease the usage
inside KWin and remove the horrific long methods.
2013-09-10 15:30:10 +02:00
Martin Gräßlin
f354b41680
Add ungrabButton to Xcb::Window
...
The order of attributes is reversed compared to xcb_ungrab_button
to better allow for default arguments.
2013-09-10 15:30:10 +02:00
Martin Gräßlin
3ee886be2d
Add setBorderWidth() method to Xcb::Window
...
Performs the configure window call.
2013-09-10 15:30:10 +02:00
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