diff options
author | Ken Moore <moorekou@gmail.com> | 2015-07-09 16:44:01 -0400 |
---|---|---|
committer | Ken Moore <moorekou@gmail.com> | 2015-07-09 16:44:01 -0400 |
commit | c701ec5bbd031aa7339a848d422202747615e901 (patch) | |
tree | 90bad14b56ee478cba6e7f2de95047e1c6d723d3 | |
parent | Finish cleaning up the arrangement/placement of desktop plugins with the new ... (diff) | |
parent | Merge pull request #133 from pcbsd/linux (diff) | |
download | lumina-c701ec5bbd031aa7339a848d422202747615e901.tar.gz lumina-c701ec5bbd031aa7339a848d422202747615e901.tar.bz2 lumina-c701ec5bbd031aa7339a848d422202747615e901.zip |
Merge branch 'master' of github.com:pcbsd/lumina
-rw-r--r-- | DEPENDENCIES | 3 | ||||
-rw-r--r-- | lumina-wm-INCOMPLETE/LXcbEventFilter.cpp | 15 |
2 files changed, 16 insertions, 2 deletions
diff --git a/DEPENDENCIES b/DEPENDENCIES index 3cf2c836..31199420 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -81,6 +81,9 @@ X.org and XCB extensions (possibly the XLib libraries above during the transitio libxrender-dev libxcb-image0-dev + These additional dependencies are needed to build the window manager: + libxcb-screensaver0-dev + These packages are required for running Lumina on Linux fluxbox kde-style-oxygen diff --git a/lumina-wm-INCOMPLETE/LXcbEventFilter.cpp b/lumina-wm-INCOMPLETE/LXcbEventFilter.cpp index 511cf467..90b20c6d 100644 --- a/lumina-wm-INCOMPLETE/LXcbEventFilter.cpp +++ b/lumina-wm-INCOMPLETE/LXcbEventFilter.cpp @@ -30,10 +30,21 @@ EventFilter::EventFilter() : QObject(){ void EventFilter::start(){ QCoreApplication::instance()->installNativeEventFilter(EF); + xcb_generic_error_t *status; + xcb_connection_t *my_connection; + xcb_void_cookie_t window_attributes; + const unsigned int *returned; //Also ensure it gets root window events - //Need the "real" root window (not the virtual root which Qt might return - if( 0!= xcb_request_check( QX11Info::connection(), xcb_change_window_attributes_checked(QX11Info::connection(), L_XCB::root, XCB_CW_EVENT_MASK, (uint32_t[]){ROOT_EVENT_MASK} ) ) ){ + //Need the "real" root window (not the virtual root which Qt might return + my_connection = QX11Info::connection(); + returned = (uint32_t *) ROOT_EVENT_MASK; + window_attributes = xcb_change_window_attributes_checked(my_connection, L_XCB::root, XCB_CW_EVENT_MASK, returned); + status = xcb_request_check(my_connection, window_attributes); + + // if( 0!= xcb_request_check( QX11Info::connection(), xcb_change_window_attributes_checked(QX11Info::connection(), L_XCB::root, XCB_CW_EVENT_MASK, (uint32_t[]){ROOT_EVENT_MASK} ) ) ){ + if (status) + { qCritical() << "[ERROR] Unable to setup WM event retrieval. Is another WM running?"; exit(1); } |