allow the res_class in WM_CLASS to mark a window as a dock app, if it is set to the...
authorDana Jansens <danakj@orodu.net>
Thu, 16 Sep 2010 23:34:14 +0000 (19:34 -0400)
committerDana Jansens <danakj@orodu.net>
Mon, 24 Jan 2011 19:19:21 +0000 (14:19 -0500)
openbox/window.c

index ad61294..51806f9 100644 (file)
@@ -26,6 +26,7 @@
 #include "prompt.h"
 #include "debug.h"
 #include "grab.h"
+#include "obt/prop.h"
 #include "obt/xqueue.h"
 
 static GHashTable *window_map;
@@ -186,6 +187,20 @@ void window_manage(Window win)
             }
             XFree(wmhints);
         }
+        /* This is a new method to declare that a window is a dockapp, being
+           implemented by Windowmaker, to alleviate pain in writing GTK+
+           dock apps.
+           http://thread.gmane.org/gmane.comp.window-managers.openbox/4881
+        */
+        if (!is_dockapp) {
+            gchar **ss;
+            if (OBT_PROP_GETSS_TYPE(win, WM_CLASS, STRING_NO_CC, &ss))
+            {
+                if (ss[0] && ss[1] && strcmp(ss[1], "DockApp") == 0)
+                    is_dockapp = TRUE;
+                g_strfreev(ss);
+            }
+        }
     }
 
     if (!no_manage) {