aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Moore <moorekou@gmail.com>2016-02-19 10:52:15 -0500
committerKen Moore <moorekou@gmail.com>2016-02-19 10:52:15 -0500
commita038bfab7d12285c21ab7f9221652abfd87f1cac (patch)
tree0050a3a11e099fa64ee3dd6f14e30d90de895c73
parentRemove the 80-pixel limit to the text shown on task manager buttons (non-grou... (diff)
downloadlumina-a038bfab7d12285c21ab7f9221652abfd87f1cac.tar.gz
lumina-a038bfab7d12285c21ab7f9221652abfd87f1cac.tar.bz2
lumina-a038bfab7d12285c21ab7f9221652abfd87f1cac.zip
Change around the X property notification requested for standard windows (non-embedded apps).
-rw-r--r--libLumina/LuminaX11.cpp11
-rw-r--r--libLumina/LuminaX11.h2
2 files changed, 9 insertions, 4 deletions
diff --git a/libLumina/LuminaX11.cpp b/libLumina/LuminaX11.cpp
index 3b8d8414..5d1ac6f3 100644
--- a/libLumina/LuminaX11.cpp
+++ b/libLumina/LuminaX11.cpp
@@ -513,8 +513,13 @@ QIcon LXCB::WindowIcon(WId win){
}
// === SelectInput() ===
-void LXCB::SelectInput(WId win){
- uint32_t mask = XCB_EVENT_MASK_ENTER_WINDOW | XCB_EVENT_MASK_LEAVE_WINDOW | XCB_EVENT_MASK_STRUCTURE_NOTIFY | XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY | XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT | XCB_EVENT_MASK_FOCUS_CHANGE | XCB_EVENT_MASK_PROPERTY_CHANGE;
+void LXCB::SelectInput(WId win, bool isEmbed){
+ uint32_t mask;
+ if(isEmbed){
+ mask = XCB_EVENT_MASK_ENTER_WINDOW | XCB_EVENT_MASK_LEAVE_WINDOW | XCB_EVENT_MASK_STRUCTURE_NOTIFY | XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY | XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT | XCB_EVENT_MASK_FOCUS_CHANGE | XCB_EVENT_MASK_PROPERTY_CHANGE;
+ }else{
+ mask = XCB_EVENT_MASK_FOCUS_CHANGE | XCB_EVENT_MASK_PROPERTY_CHANGE;
+ }
xcb_change_window_attributes(QX11Info::connection(), win, XCB_CW_EVENT_MASK, &mask );
}
@@ -873,7 +878,7 @@ uint LXCB::EmbedWindow(WId win, WId container){
xcb_send_event(QX11Info::connection(), 0, win, XCB_EVENT_MASK_STRUCTURE_NOTIFY | XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT, (const char *) &event);
//Now setup any redirects and return
- this->SelectInput(win); //Notify of structure changes
+ this->SelectInput(win, true); //Notify of structure changes
xcb_composite_redirect_window(QX11Info::connection(), win, XCB_COMPOSITE_REDIRECT_MANUAL); //XCB_COMPOSITE_REDIRECT_[MANUAL/AUTOMATIC]);
//Now map the window (will be a transparent child of the container)
diff --git a/libLumina/LuminaX11.h b/libLumina/LuminaX11.h
index f702ddf1..b0a5d588 100644
--- a/libLumina/LuminaX11.h
+++ b/libLumina/LuminaX11.h
@@ -123,7 +123,7 @@ public:
//Window Modification
// - SubStructure simplifications (not commonly used)
- void SelectInput(WId); //XSelectInput replacement (to see window events)
+ void SelectInput(WId win, bool isEmbed = false); //XSelectInput replacement (to see window events)
uint GenerateDamageID(WId);
// - General Window Modifications
bgstack15