]> git.sesse.net Git - vlc/commitdiff
XCB window: set Window Manager hints
authorRémi Denis-Courmont <remi@remlab.net>
Thu, 24 Sep 2009 15:41:24 +0000 (18:41 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Thu, 24 Sep 2009 15:41:24 +0000 (18:41 +0300)
This is required to ever get the focus with some window managers.

modules/video_output/xcb/window.c

index 57e9b3e3601dd2ae853b0b4e7c6373686fff6cfc..d4922551e7ce3262c2e6d6b661996f26ef1003f2 100644 (file)
@@ -119,6 +119,19 @@ void set_ascii_prop (xcb_connection_t *conn, xcb_window_t window,
     set_string (conn, window, atom, XA_STRING, value);
 }
 
+static inline
+void set_wm_hints (xcb_connection_t *conn, xcb_window_t window)
+{
+    static const uint32_t wm_hints[8] = {
+        3, /* flags: Input, Initial state */
+        1, /* input: True */
+        1, /* initial state: Normal */
+        0, 0, 0, 0, 0, /* Icon */
+    };
+    xcb_change_property (conn, XCB_PROP_MODE_REPLACE, window, XA_WM_HINTS,
+                         XA_WM_HINTS, 32, 8, wm_hints);
+}
+
 /** Set the Window ICCCM client machine property */
 static inline
 void set_hostname_prop (xcb_connection_t *conn, xcb_window_t window)
@@ -256,6 +269,7 @@ static int Open (vlc_object_t *obj)
                   vlc_pgettext ("ASCII", "VLC media player"));
     set_ascii_prop (conn, window, XA_WM_ICON_NAME,
                     vlc_pgettext ("ASCII", "VLC"));
+    set_wm_hints (conn, window);
     xcb_change_property (conn, XCB_PROP_MODE_REPLACE, window, XA_WM_CLASS,
                          XA_STRING, 8, 8, "vlc\0Vlc");
     set_hostname_prop (conn, window);