diff options
author | Ken Moore <moorekou@gmail.com> | 2015-07-17 13:08:16 -0400 |
---|---|---|
committer | Ken Moore <moorekou@gmail.com> | 2015-07-17 13:08:16 -0400 |
commit | 96bcdec1f14e8f880b0ef053c5436af3662b19b8 (patch) | |
tree | ef33e6d0220a92ca308f58dd2ad3e5ba48a6fc48 /libLumina/LuminaX11.cpp | |
parent | Merge branch 'master' of github.com:pcbsd/lumina (diff) | |
download | lumina-96bcdec1f14e8f880b0ef053c5436af3662b19b8.tar.gz lumina-96bcdec1f14e8f880b0ef053c5436af3662b19b8.tar.bz2 lumina-96bcdec1f14e8f880b0ef053c5436af3662b19b8.zip |
Commit some quick fixes:
1) Switch some X11->XCB functions around (SetAsDesktop(), SetDisableWMActions()).
2) Fix up some QtQuick plugin detection routines (now it will properly see the user's quickplugins if any).
3) Connect the status change signal/slots for QtQuick plugins to try and detect script failures and remove the script (still not working reliably).
Diffstat (limited to 'libLumina/LuminaX11.cpp')
-rw-r--r-- | libLumina/LuminaX11.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libLumina/LuminaX11.cpp b/libLumina/LuminaX11.cpp index 770f64db..cdbb038f 100644 --- a/libLumina/LuminaX11.cpp +++ b/libLumina/LuminaX11.cpp @@ -1183,9 +1183,18 @@ void LXCB::SetAsSticky(WId win){ xcb_flush(QX11Info::connection()); //apply it right away*/ } +// === SetDisableWMActions() === +void LXCB::SetDisableWMActions(WId win){ + //This disables all the various control that a WM allows for the window (except for allowing the "Sticky" state) + xcb_atom_t list[1]; + list[0] = EWMH._NET_WM_ACTION_STICK; + xcb_ewmh_set_wm_allowed_actions(&EWMH, win, 1, list); +} + // === SetAsPanel() === void LXCB::SetAsPanel(WId win){ if(win==0){ return; } + SetDisableWMActions(win); //also need to disable WM actions for this window //Disable Input focus (panel activation ruins task manager window detection routines) // - Disable Input flag in WM_HINTS xcb_icccm_wm_hints_t hints; @@ -1262,6 +1271,14 @@ void LXCB::SetAsPanel(WId win){ } +void LXCB::SetAsDesktop(WId win){ + if(win==0){ return; } + SetDisableWMActions(win); //also need to disable WM actions for this window + xcb_atom_t list[1]; + list[0] = EWMH._NET_WM_WINDOW_TYPE_DESKTOP; + xcb_ewmh_set_wm_window_type(&EWMH, win, 1, list); +} + // === CloseWindow() === void LXCB::CloseWindow(WId win){ if(win==0){ return; } |