Enable passing xcb events through NETRootInfo and NETWinInfo

Requires ab8f4532f5f12db19bcc09c1f297f1b7d55efb48 from frameworks.
This commit is contained in:
Martin Gräßlin 2013-08-02 13:53:21 +02:00
parent 41bb797919
commit 4b97fb542e

View file

@ -155,8 +155,6 @@ bool Workspace::workspaceEvent(xcb_generic_event_t *e)
return true; return true;
} }
#warning NETRootInfo::event() needs porting to XCB
#if KWIN_QT5_PORTING
if (eventType == XCB_PROPERTY_NOTIFY || eventType == XCB_CLIENT_MESSAGE) { if (eventType == XCB_PROPERTY_NOTIFY || eventType == XCB_CLIENT_MESSAGE) {
unsigned long dirty[ NETRootInfo::PROPERTIES_SIZE ]; unsigned long dirty[ NETRootInfo::PROPERTIES_SIZE ];
rootInfo()->event(e, dirty, NETRootInfo::PROPERTIES_SIZE); rootInfo()->event(e, dirty, NETRootInfo::PROPERTIES_SIZE);
@ -165,7 +163,6 @@ bool Workspace::workspaceEvent(xcb_generic_event_t *e)
if (dirty[ NETRootInfo::PROTOCOLS2 ] & NET::WM2DesktopLayout) if (dirty[ NETRootInfo::PROTOCOLS2 ] & NET::WM2DesktopLayout)
VirtualDesktopManager::self()->updateLayout(); VirtualDesktopManager::self()->updateLayout();
} }
#endif
// events that should be handled before Clients can get them // events that should be handled before Clients can get them
switch (eventType) { switch (eventType) {
@ -477,8 +474,7 @@ bool Workspace::workspaceEvent(QEvent* e)
*/ */
bool Client::windowEvent(xcb_generic_event_t *e) bool Client::windowEvent(xcb_generic_event_t *e)
{ {
#if KWIN_QT5_PORTING if (findEventWindow(e) == window()) { // avoid doing stuff on frame or wrapper
if (e->xany.window == window()) { // avoid doing stuff on frame or wrapper
unsigned long dirty[ 2 ]; unsigned long dirty[ 2 ];
double old_opacity = opacity(); double old_opacity = opacity();
info->event(e, dirty, 2); // pass through the NET stuff info->event(e, dirty, 2); // pass through the NET stuff
@ -516,7 +512,6 @@ bool Client::windowEvent(xcb_generic_event_t *e)
// ### Inform the decoration // ### Inform the decoration
} }
} }
#endif
const uint8_t eventType = e->response_type & ~0x80; const uint8_t eventType = e->response_type & ~0x80;
switch(eventType) { switch(eventType) {
@ -1548,7 +1543,6 @@ void Client::syncEvent(xcb_sync_alarm_notify_event_t* e)
bool Unmanaged::windowEvent(xcb_generic_event_t *e) bool Unmanaged::windowEvent(xcb_generic_event_t *e)
{ {
#if KWIN_QT5_PORTING
double old_opacity = opacity(); double old_opacity = opacity();
unsigned long dirty[ 2 ]; unsigned long dirty[ 2 ];
info->event(e, dirty, 2); // pass through the NET stuff info->event(e, dirty, 2); // pass through the NET stuff
@ -1558,7 +1552,6 @@ bool Unmanaged::windowEvent(xcb_generic_event_t *e)
emit opacityChanged(this, old_opacity); emit opacityChanged(this, old_opacity);
} }
} }
#endif
const uint8_t eventType = e->response_type & ~0x80; const uint8_t eventType = e->response_type & ~0x80;
switch (eventType) { switch (eventType) {
case XCB_UNMAP_NOTIFY: case XCB_UNMAP_NOTIFY: