[gtk+/wip/gmenu: 26/87] window: Set a _DBUS_APPLICATION_ID X11 window property



commit 563f03f03322ba6a7ee197a0f9b8f8374b6901ae
Author: Colin Walters <walters verbum org>
Date:   Fri Nov 25 17:22:16 2011 -0500

    window: Set a _DBUS_APPLICATION_ID X11 window property
    
    This will allow gnome-shell to reference it.

 gtk/gtkwindow.c |   21 ++++++++++++++++++++-
 1 files changed, 20 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 657f9f8..775161e 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -2658,6 +2658,7 @@ gtk_window_set_application (GtkWindow      *window,
                             GtkApplication *application)
 {
   GtkWindowPrivate *priv;
+  GdkWindow *gdkwindow;
 
   g_return_if_fail (GTK_IS_WINDOW (window));
 
@@ -2677,6 +2678,22 @@ gtk_window_set_application (GtkWindow      *window,
 
       g_object_notify (G_OBJECT (window), "application");
     }
+
+#ifdef GDK_WINDOWING_X11
+  gdkwindow = gtk_widget_get_window (GTK_WIDGET (window));
+  if (gdkwindow)
+    {
+      if (GDK_IS_X11_WINDOW (gdkwindow))
+	{
+	  const char *id;
+	  if (application)
+	    id = g_application_get_application_id ((GApplication*)application);
+	  else
+	    id = NULL;
+	  gdk_x11_window_set_utf8_property (gdkwindow, "_DBUS_APPLICATION_ID", id);
+	}
+    }
+#endif
 }
 
 /**
@@ -5119,7 +5136,7 @@ gtk_window_realize (GtkWidget *widget)
     gdk_window_set_modal_hint (gdk_window, TRUE);
   else
     gdk_window_set_modal_hint (gdk_window, FALSE);
-  
+
   if (priv->startup_id)
     {
 #ifdef GDK_WINDOWING_X11
@@ -5142,6 +5159,8 @@ gtk_window_realize (GtkWidget *widget)
     }
 #endif
 
+  gtk_window_set_application (window, gtk_window_get_application (window));
+
   /* Icons */
   gtk_window_realize_icon (window);
   



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]