diff options
Diffstat (limited to 'libLumina')
-rw-r--r-- | libLumina/LuminaX11.cpp | 21 | ||||
-rw-r--r-- | libLumina/LuminaX11.h | 4 |
2 files changed, 19 insertions, 6 deletions
diff --git a/libLumina/LuminaX11.cpp b/libLumina/LuminaX11.cpp index 4f3822e1..5f482821 100644 --- a/libLumina/LuminaX11.cpp +++ b/libLumina/LuminaX11.cpp @@ -1163,12 +1163,6 @@ int LXCB::WindowIsFullscreen(WId win){ return fscreen; } -// === SelectInput() === -void LXCB::SelectInput(WId win){ - uint32_t mask = XCB_EVENT_MASK_ENTER_WINDOW | XCB_EVENT_MASK_FOCUS_CHANGE | XCB_EVENT_MASK_PROPERTY_CHANGE | XCB_EVENT_MASK_STRUCTURE_NOTIFY; - xcb_change_window_attributes(QX11Info::connection(), win, XCB_CW_EVENT_MASK, &mask ); -} - // === WindowIcon() === QIcon LXCB::WindowIcon(WId win){ //Fetch the _NET_WM_ICON for the window and return it as a QIcon @@ -1201,6 +1195,21 @@ QIcon LXCB::WindowIcon(WId win){ return icon; } +// === SelectInput() === +void LXCB::SelectInput(WId win){ + uint32_t mask = XCB_EVENT_MASK_ENTER_WINDOW | XCB_EVENT_MASK_FOCUS_CHANGE | XCB_EVENT_MASK_PROPERTY_CHANGE | XCB_EVENT_MASK_STRUCTURE_NOTIFY; + xcb_change_window_attributes(QX11Info::connection(), win, XCB_CW_EVENT_MASK, &mask ); +} + +// === GenerateDamageID() === +uint LXCB::GenerateDamageID(WId win){ + //Now create/register the damage handler + xcb_damage_damage_t dmgID = xcb_generate_id(QX11Info::connection()); //This is a typedef for a 32-bit unsigned integer + xcb_damage_create(QX11Info::connection(), dmgID, win, XCB_DAMAGE_REPORT_LEVEL_RAW_RECTANGLES); + return ( (uint) dmgID ); +} + + // === SetAsSticky() === void LXCB::SetAsSticky(WId win){ if(DEBUG){ qDebug() << "XCB: SetAsSticky()"; } diff --git a/libLumina/LuminaX11.h b/libLumina/LuminaX11.h index efa51cfd..ef2d4629 100644 --- a/libLumina/LuminaX11.h +++ b/libLumina/LuminaX11.h @@ -148,7 +148,11 @@ public: QIcon WindowIcon(WId win); //_NET_WM_ICON //Window Modification + // - SubStructure simplifications (not commonly used) void SelectInput(WId); //XSelectInput replacement (to see window events) + uint GenerateDamageID(WId); + + // - General Window Modifications void SetAsSticky(WId); //Stick to all workspaces void SetDisableWMActions(WId); //Disable WM control (shortcuts/automatic functions) void SetAsPanel(WId); //Adjust all the window flags for a proper panel (cannot be done through Qt) |