aboutsummaryrefslogtreecommitdiff
path: root/libLumina/LuminaX11.cpp
diff options
context:
space:
mode:
authorKen Moore <moorekou@gmail.com>2015-07-28 14:21:48 -0400
committerKen Moore <moorekou@gmail.com>2015-07-28 14:21:48 -0400
commit33b2e0ec1c3810ccfac177e311fea2b03db8e47c (patch)
tree013ac6fdd53507cd97b9f7dc8698a6fdc5154bfa /libLumina/LuminaX11.cpp
parentJust a minor update to some debugging (when turned on) for checking icons wit... (diff)
downloadlumina-33b2e0ec1c3810ccfac177e311fea2b03db8e47c.tar.gz
lumina-33b2e0ec1c3810ccfac177e311fea2b03db8e47c.tar.bz2
lumina-33b2e0ec1c3810ccfac177e311fea2b03db8e47c.zip
Add some work that make the Lumina desktop/panels appear in the proper locations when XINERAMA is used for combining monitors. However, the interface is still completely unresponsive because the Qt backend is completely screwed up by Xinerama (returns 0's for everything related to screens, geometries, etc, preventing menus from opening up even when manually started). This might be something where we just have to say that Xinerama is not supported for Lumina (at least until lumina-wm get finished up).
Diffstat (limited to 'libLumina/LuminaX11.cpp')
-rw-r--r--libLumina/LuminaX11.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/libLumina/LuminaX11.cpp b/libLumina/LuminaX11.cpp
index ba091771..71346e19 100644
--- a/libLumina/LuminaX11.cpp
+++ b/libLumina/LuminaX11.cpp
@@ -895,6 +895,22 @@ WId LXCB::ActiveWindow(){
}
}
+// === CheckDisableXinerama() ===
+bool LXCB::CheckDisableXinerama(){
+ //returns true if Xinerama was initially set but now disabled
+ return false;
+ // TO-DO - not complete yet
+
+ /*xcb_query_extension_cookie_t cookie = xcb_query_extension_unchecked(QX11Info::connection(), 8, "Xinerama");
+ xcb_query_extension_reply_t *reply = xcb_query_extension_reply(QX11Info::connection(), cookie, NULL);
+
+ if(reply!=0){
+
+ free(reply);
+ }
+ */
+}
+
// === RegisterVirtualRoots() ===
void LXCB::RegisterVirtualRoots(QList<WId> roots){
if(DEBUG){ qDebug() << "XCB: RegisterVirtualRoots()"; }
@@ -1294,6 +1310,7 @@ void LXCB::SetAsPanel(WId win){
}
+// === SetAsDesktop() ===
void LXCB::SetAsDesktop(WId win){
if(DEBUG){ qDebug() << "XCB: SetAsDesktop()"; }
if(win==0){ return; }
@@ -1311,12 +1328,14 @@ void LXCB::CloseWindow(WId win){
xcb_ewmh_request_close_window(&EWMH, 0, win, QX11Info::getTimestamp(), XCB_EWMH_CLIENT_SOURCE_TYPE_OTHER);
}
+// === KillClient() ===
void LXCB::KillClient(WId win){
if(DEBUG){ qDebug() << "XCB: KillClient()"; }
if(win==0){ return; }
//This will forcibly close the application which created WIN
xcb_kill_client(QX11Info::connection(), win);
}
+
// === MinimizeWindow() ===
void LXCB::MinimizeWindow(WId win){ //request that the window be unmapped/minimized
if(DEBUG){ qDebug() << "XCB: MinimizeWindow()"; }
bgstack15