[maemo-commits] [maemo-commits] r8792 - in projects/haf/branches/gtk+/maemo-gtk-2-10: . gdk gdk/x11

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Fri Dec 15 18:27:59 EET 2006
Author: kris
Date: 2006-12-15 18:27:48 +0200 (Fri, 15 Dec 2006)
New Revision: 8792

Modified:
   projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog
   projects/haf/branches/gtk+/maemo-gtk-2-10/gdk/gdkwindow.h
   projects/haf/branches/gtk+/maemo-gtk-2-10/gdk/x11/gdkwindow-x11.c
Log:
2006-12-15  Kristian Rietveld  <kris at imendio.com>

	* gdk/gdkwindow.h: added GDK_WINDOW_TYPE_HINT_MESSAGE.

	* gdk/x11/gdkwindow-x11.c (set_initial_hints): added Maemo specific
	code for setting _NET_WM_STATE since the TN relies on this,
	(gdk_window_set_type_hint),
	(gdk_window_get_type_hint): support HINT_MESSAGE.



Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog
===================================================================
--- projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog	2006-12-15 15:44:50 UTC (rev 8791)
+++ projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog	2006-12-15 16:27:48 UTC (rev 8792)
@@ -1,3 +1,12 @@
+2006-12-15  Kristian Rietveld  <kris at imendio.com>
+
+	* gdk/gdkwindow.h: added GDK_WINDOW_TYPE_HINT_MESSAGE.
+
+	* gdk/x11/gdkwindow-x11.c (set_initial_hints): added Maemo specific
+	code for setting _NET_WM_STATE since the TN relies on this,
+	(gdk_window_set_type_hint),
+	(gdk_window_get_type_hint): support HINT_MESSAGE.
+
 2006-12-15  Michael Natterer  <mitch at imendio.com>
 
 	* gtk/gtkrc.c: added support for logical colors as they were in

Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/gdk/gdkwindow.h
===================================================================
--- projects/haf/branches/gtk+/maemo-gtk-2-10/gdk/gdkwindow.h	2006-12-15 15:44:50 UTC (rev 8791)
+++ projects/haf/branches/gtk+/maemo-gtk-2-10/gdk/gdkwindow.h	2006-12-15 16:27:48 UTC (rev 8792)
@@ -138,7 +138,10 @@
   GDK_WINDOW_TYPE_HINT_TOOLTIP,
   GDK_WINDOW_TYPE_HINT_NOTIFICATION,
   GDK_WINDOW_TYPE_HINT_COMBO,
-  GDK_WINDOW_TYPE_HINT_DND
+  GDK_WINDOW_TYPE_HINT_DND,
+  /* MEAMO START */
+  GDK_WINDOW_TYPE_HINT_MESSAGE
+  /* MAEMO END */
 } GdkWindowTypeHint;
 
 /* The next two enumeration values current match the

Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/gdk/x11/gdkwindow-x11.c
===================================================================
--- projects/haf/branches/gtk+/maemo-gtk-2-10/gdk/x11/gdkwindow-x11.c	2006-12-15 15:44:50 UTC (rev 8791)
+++ projects/haf/branches/gtk+/maemo-gtk-2-10/gdk/x11/gdkwindow-x11.c	2006-12-15 16:27:48 UTC (rev 8792)
@@ -1271,6 +1271,7 @@
   GdkToplevelX11 *toplevel;
   Atom atoms[9];
   gint i;
+  gint propmode;
 
   private = (GdkWindowObject*) window;
   toplevel = _gdk_x11_window_get_toplevel (window);
@@ -1279,6 +1280,14 @@
     return;
 
   update_wm_hints (window, TRUE);
+
+  /* MAEMO START */
+  /* If the window has _NET_WM_STATE key specified, use it as the property mode */
+  propmode = (gint)g_object_get_data (G_OBJECT (window), "_NET_WM_STATE");
+
+  if (!propmode)
+    propmode = PropModeReplace;
+  /* MAEMO END */
   
   /* We set the spec hints regardless of whether the spec is supported,
    * since it can't hurt and it's kind of expensive to check whether
@@ -1351,10 +1360,16 @@
       XChangeProperty (xdisplay,
                        xwindow,
 		       gdk_x11_get_xatom_by_name_for_display (display, "_NET_WM_STATE"),
-                       XA_ATOM, 32, PropModeReplace,
+                       XA_ATOM, 32,
+		       /* MAEMO START */
+		       propmode,
+		       /* MAEMO END */
                        (guchar*) atoms, i);
     }
-  else 
+  /* MAEMO START */
+  /* Don't delete the property, unless we are replacing it */
+  else if (propmode == PropModeReplace)
+  /* MAEMO END */
     {
       XDeleteProperty (xdisplay,
                        xwindow,
@@ -2269,6 +2284,11 @@
     case GDK_WINDOW_TYPE_HINT_DND:
       atom = gdk_x11_get_xatom_by_name_for_display (display, "_NET_WM_WINDOW_TYPE_DND");
       break;
+    /* MAEMO START */
+    case GDK_WINDOW_TYPE_HINT_MESSAGE:
+      atom = gdk_x11_get_xatom_by_name_for_display (display, "_MB_WM_WINDOW_TYPE_MESSAGE");
+      break;
+    /* MAEMO END */
     default:
       g_warning ("Unknown hint %d passed to gdk_window_set_type_hint", hint);
       /* Fall thru */
@@ -2350,6 +2370,10 @@
 	    type = GDK_WINDOW_TYPE_HINT_COMBO;
 	  else if (atom == gdk_x11_get_xatom_by_name_for_display (display, "_NET_WM_WINDOW_TYPE_DND"))
 	    type = GDK_WINDOW_TYPE_HINT_DND;
+	  /* MAEMO START */
+	  else if (atom == gdk_x11_get_xatom_by_name_for_display (display, "_MB_WM_WINDOW_TYPE_MESSAGE"))
+	    type = GDK_WINDOW_TYPE_HINT_MESSAGE;
+	  /* MAEMO END */
         }
 
       if (type_return != None && data != NULL)


More information about the maemo-commits mailing list