aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core
diff options
context:
space:
mode:
authorKen Moore <ken@ixsystems.com>2017-05-25 14:57:27 -0400
committerKen Moore <ken@ixsystems.com>2017-05-25 14:57:27 -0400
commit49c5bd3d8dce4d8e6421846ab5005813c51b067b (patch)
tree77d5607c61dcd29b4c139b58c8e02c5874031c62 /src-qt5/core
parentSwitch the usage of compton: default to it being disabled rather than enabled... (diff)
downloadlumina-49c5bd3d8dce4d8e6421846ab5005813c51b067b.tar.gz
lumina-49c5bd3d8dce4d8e6421846ab5005813c51b067b.tar.bz2
lumina-49c5bd3d8dce4d8e6421846ab5005813c51b067b.zip
Try to detect/fix the fullscreen/background window issue on Fluxbox.
Diffstat (limited to 'src-qt5/core')
-rw-r--r--src-qt5/core/lumina-desktop/LSession.cpp7
-rw-r--r--src-qt5/core/lumina-desktop/LSession.h2
2 files changed, 8 insertions, 1 deletions
diff --git a/src-qt5/core/lumina-desktop/LSession.cpp b/src-qt5/core/lumina-desktop/LSession.cpp
index 8932ac36..02a08782 100644
--- a/src-qt5/core/lumina-desktop/LSession.cpp
+++ b/src-qt5/core/lumina-desktop/LSession.cpp
@@ -686,6 +686,13 @@ void LSession::WindowPropertyEvent(WId win){
//Emit the single-app signal if the window in question is one used by the task manager
if(RunningApps.contains(win)){
if(DEBUG){ qDebug() << "Single-window property event"; }
+ if( XCB->WindowClass(win).contains("VirtualBox")){
+ QList<LXCB::WINDOWSTATE> states = XCB->WM_Get_Window_States(win);
+ if(states.contains(LXCB::S_FULLSCREEN) && !states.contains(LXCB::S_HIDDEN)){
+ XCB->WM_Set_Window_Type(win, QList<LXCB::WINDOWTYPE>() << LXCB::T_NORMAL );
+ XCB->RestoreWindow(win);
+ }
+ }
//emit WindowListEvent();
WindowPropertyEvent(); //Run through the entire routine for window checks
}else if(RunningTrayApps.contains(win)){
diff --git a/src-qt5/core/lumina-desktop/LSession.h b/src-qt5/core/lumina-desktop/LSession.h
index 8f799cd0..4c8da41c 100644
--- a/src-qt5/core/lumina-desktop/LSession.h
+++ b/src-qt5/core/lumina-desktop/LSession.h
@@ -67,7 +67,7 @@ public:
// (DO NOT USE MANUALLY)
void RootSizeChange();
void WindowPropertyEvent();
- void WindowPropertyEvent(WId);
+ void WindowPropertyEvent(WId);
void SysTrayDockRequest(WId);
void WindowClosedEvent(WId);
void WindowConfigureEvent(WId);
bgstack15