diff options
Diffstat (limited to '009-i3wm.patch')
-rw-r--r-- | 009-i3wm.patch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/009-i3wm.patch b/009-i3wm.patch new file mode 100644 index 000000000000..4dada3dc108a --- /dev/null +++ b/009-i3wm.patch @@ -0,0 +1,50 @@ +diff -Naur VirtualBox-5.1.16/src/VBox/Frontends/VirtualBox/src/globals/UIDesktopWidgetWatchdog.cpp VirtualBox-5.1.16-fixed/src/VBox/Frontends/VirtualBox/src/globals/UIDesktopWidgetWatchdog.cpp +--- VirtualBox-5.1.16/src/VBox/Frontends/VirtualBox/src/globals/UIDesktopWidgetWatchdog.cpp 2017-03-08 18:19:53.000000000 +0100 ++++ VirtualBox-5.1.16-fixed/src/VBox/Frontends/VirtualBox/src/globals/UIDesktopWidgetWatchdog.cpp 2017-03-10 10:25:58.876132400 +0100 +@@ -282,7 +282,7 @@ + /* Get cached available-geometry: */ + const QRect availableGeometry = m_availableGeometryData.value(iHostScreenIndex); + /* Return cached available-geometry if it's valid or screen-geometry otherwise: */ +- return availableGeometry.isValid() ? availableGeometry : ++ return availableGeometry.isValid() && X11WindowManagerType() != X11WMType_i3 ? availableGeometry : + QApplication::desktop()->screenGeometry(iHostScreenIndex); + #else /* !VBOX_WS_X11 */ + /* Redirect call to desktop-widget: */ +diff -Naur VirtualBox-5.1.16/src/VBox/Frontends/VirtualBox/src/platform/x11/VBoxX11Helper.cpp VirtualBox-5.1.16-fixed/src/VBox/Frontends/VirtualBox/src/platform/x11/VBoxX11Helper.cpp +--- VirtualBox-5.1.16/src/VBox/Frontends/VirtualBox/src/platform/x11/VBoxX11Helper.cpp 2017-03-08 18:19:54.000000000 +0100 ++++ VirtualBox-5.1.16-fixed/src/VBox/Frontends/VirtualBox/src/platform/x11/VBoxX11Helper.cpp 2017-03-10 10:23:15.729460200 +0100 +@@ -93,6 +93,9 @@ + else + if (QString((const char*)pcData).contains("Xfwm4", Qt::CaseInsensitive)) + wmType = X11WMType_Xfwm4; ++ else ++ if (QString((const char*)pcData).contains("i3", Qt::CaseInsensitive)) ++ wmType = X11WMType_i3; + if (pcData) + XFree(pcData); + } +diff -Naur VirtualBox-5.1.16/src/VBox/Frontends/VirtualBox/src/platform/x11/VBoxX11Helper.h VirtualBox-5.1.16-fixed/src/VBox/Frontends/VirtualBox/src/platform/x11/VBoxX11Helper.h +--- VirtualBox-5.1.16/src/VBox/Frontends/VirtualBox/src/platform/x11/VBoxX11Helper.h 2017-03-08 18:19:54.000000000 +0100 ++++ VirtualBox-5.1.16-fixed/src/VBox/Frontends/VirtualBox/src/platform/x11/VBoxX11Helper.h 2017-03-10 10:22:11.876123200 +0100 +@@ -27,6 +27,7 @@ + X11WMType_KWin, + X11WMType_Mutter, + X11WMType_Xfwm4, ++ X11WMType_i3, + }; + + /** X11: Determines and returns whether the compositing manager is running. */ +diff -Naur VirtualBox-5.1.16/src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp VirtualBox-5.1.16-fixed/src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp +--- VirtualBox-5.1.16/src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp 2017-03-08 18:19:58.000000000 +0100 ++++ VirtualBox-5.1.16-fixed/src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp 2017-03-10 10:29:12.549409400 +0100 +@@ -727,6 +727,10 @@ + /* Enable translucency through Qt API if supported: */ + if (vboxGlobal().isCompositingManagerRunning()) + setAttribute(Qt::WA_TranslucentBackground); ++ ++ if (X11WindowManagerType() == X11WMType_i3) ++ setWindowFlags(Qt::FramelessWindowHint); ++ + #endif /* VBOX_WS_X11 */ + + /* Make sure we have no focus: */ |