[vlc-devel] [PATCH] qt: Set time tooltip to bypass X11 window managers (fixes #20011)

Josh Sawchuk joshsawchukdev at gmail.com
Sat Mar 17 11:20:20 CET 2018

Some window managers (namely i3wm) don't treat the time tooltip's current window flags the same as other window managers.
The time tooltip previously used just the FramelessWindowHint flag which is dependant on the window manager to prevent moving & resizing it. i3wm in particular doesn't treat it properly, it can be moved, resized and swallows keyboard events if focused. Adding the X11BypassWindowManagerHint flag prevents any window managers from letting the user move or resize the tooltip and stops it from swallowing events.
I tested this on i3wm, gnome shell, xfce window managers and on a Windows 32bit build on Windows 10 and there were no unintended side effects.
 modules/gui/qt/util/timetooltip.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/modules/gui/qt/util/timetooltip.cpp b/modules/gui/qt/util/timetooltip.cpp
index 23d47b2528..7e8781ea36 100644
--- a/modules/gui/qt/util/timetooltip.cpp
+++ b/modules/gui/qt/util/timetooltip.cpp
@@ -35,7 +35,8 @@ TimeTooltip::TimeTooltip( QWidget *parent ) :
     setWindowFlags( Qt::Tool                    |
                     Qt::WindowStaysOnTopHint    |
-                    Qt::FramelessWindowHint     );
+                    Qt::FramelessWindowHint     |
+                    Qt::X11BypassWindowManagerHint);
     // Tell Qt that it doesn't need to erase the background before
     // a paintEvent occurs. This should save some CPU cycles.

More information about the vlc-devel mailing list