diff options
| author | Dana Jansens <danakj@orodu.net> | 2010-09-16 19:34:14 -0400 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2011-01-24 14:19:21 -0500 |
| commit | 36a437a70291c94b4c591df0cd99345f052a3e0c (patch) | |
| tree | a9af3d9e0723036dda0f7a309d500ff0e8d208d6 /openbox/window.c | |
| parent | 194bb32cf65d16a4ebec2b96ccad6f3c8c4be9b3 (diff) | |
allow the res_class in WM_CLASS to mark a window as a dock app, if it is set to the string "DockApp"
Diffstat (limited to 'openbox/window.c')
| -rw-r--r-- | openbox/window.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/openbox/window.c b/openbox/window.c index ad61294d..51806f9c 100644 --- a/openbox/window.c +++ b/openbox/window.c @@ -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) { |
