summarylogtreecommitdiffstats
path: root/009-i3wm.patch
diff options
context:
space:
mode:
Diffstat (limited to '009-i3wm.patch')
-rw-r--r--009-i3wm.patch50
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: */