Set _NET_WM_NAME property for xvimagesink and ximagesink
authordavid <davidventura27@gmail.com>
Fri, 22 Jan 2021 21:24:24 +0000 (22:24 +0100)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 3 Mar 2021 12:21:22 +0000 (12:21 +0000)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1017>

sys/ximage/ximagesink.c
sys/xvimage/xvcontext.c

index 36e678d..f1bab94 100644 (file)
@@ -397,6 +397,15 @@ gst_x_image_sink_xwindow_set_title (GstXImageSink * ximagesink,
       if (title) {
         if ((XStringListToTextProperty (((char **) &title), 1,
                     &xproperty)) != 0) {
+          Atom _NET_WM_NAME =
+              XInternAtom (ximagesink->xcontext->disp, "_NET_WM_NAME", 0);
+          Atom UTF8_STRING =
+              XInternAtom (ximagesink->xcontext->disp, "UTF8_STRING", 0);
+          XChangeProperty (ximagesink->xcontext->disp, xwindow->win,
+              _NET_WM_NAME, UTF8_STRING, 8, 0, (unsigned char *) title,
+              strlen (title));
+          XSync (ximagesink->xcontext->disp, False);
+
           XSetWMName (ximagesink->xcontext->disp, xwindow->win, &xproperty);
           XFree (xproperty.value);
         }
index 69d6884..b240cc8 100644 (file)
@@ -1106,11 +1106,17 @@ gst_xwindow_set_title (GstXWindow * window, const gchar * title)
   if (window->internal && title) {
     XTextProperty xproperty;
     XClassHint *hint = XAllocClassHint ();
+    Atom _NET_WM_NAME = XInternAtom (context->disp, "_NET_WM_NAME", 0);
+    Atom UTF8_STRING = XInternAtom (context->disp, "UTF8_STRING", 0);
 
     if ((XStringListToTextProperty (((char **) &title), 1, &xproperty)) != 0) {
       XSetWMName (context->disp, window->win, &xproperty);
       XFree (xproperty.value);
 
+      XChangeProperty (context->disp, window->win, _NET_WM_NAME, UTF8_STRING, 8,
+          0, (unsigned char *) title, strlen (title));
+      XSync (context->disp, False);
+
       if (hint) {
         hint->res_name = (char *) title;
         hint->res_class = (char *) "GStreamer";