aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core/lumina-desktop/LSession.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src-qt5/core/lumina-desktop/LSession.cpp')
-rw-r--r--src-qt5/core/lumina-desktop/LSession.cpp7
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)){
bgstack15