xvimagesink: set WM_CLASS of window
authorLuis de Bethencourt <luis.bg@samsung.com>
Fri, 5 Jun 2015 14:58:39 +0000 (15:58 +0100)
committerLuis de Bethencourt <luis.bg@samsung.com>
Mon, 8 Jun 2015 16:08:26 +0000 (17:08 +0100)
Set WM_CLASS of the xvimagesink window so window managers can apply rules
based on xprop filtering.

sys/xvimage/xvcontext.c

index 6d84e37..b04a49c 100644 (file)
@@ -1080,10 +1080,18 @@ gst_xwindow_set_title (GstXWindow * window, const gchar * title)
   /* we have a window */
   if (window->internal && title) {
     XTextProperty xproperty;
+    XClassHint *hint = XAllocClassHint ();
 
     if ((XStringListToTextProperty (((char **) &title), 1, &xproperty)) != 0) {
       XSetWMName (context->disp, window->win, &xproperty);
       XFree (xproperty.value);
+
+      if (hint) {
+        hint->res_name = g_strdup (title);
+        hint->res_class = g_strdup ("GStreamer");
+        XSetClassHint (context->disp, window->win, hint);
+      }
+      XFree (hint);
     }
   }
 }