diff options
author | Ken Moore <ken@ixsystems.com> | 2017-05-25 14:57:27 -0400 |
---|---|---|
committer | Ken Moore <ken@ixsystems.com> | 2017-05-25 14:57:27 -0400 |
commit | 49c5bd3d8dce4d8e6421846ab5005813c51b067b (patch) | |
tree | 77d5607c61dcd29b4c139b58c8e02c5874031c62 /src-qt5/core | |
parent | Switch the usage of compton: default to it being disabled rather than enabled... (diff) | |
download | lumina-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.cpp | 7 | ||||
-rw-r--r-- | src-qt5/core/lumina-desktop/LSession.h | 2 |
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); |