diff options
Diffstat (limited to 'src-qt5/core/lumina-desktop/LSession.cpp')
-rw-r--r-- | src-qt5/core/lumina-desktop/LSession.cpp | 7 |
1 files changed, 7 insertions, 0 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)){ |