about summary refs log tree commit diff
path: root/conf.c
diff options
context:
space:
mode:
authorokan <okan>2013-07-15 14:50:44 +0000
committerokan <okan>2013-07-15 14:50:44 +0000
commit4119b5c065ee32189f26a0a95d4c36539003b142 (patch)
tree7aefb33035cda0f7ed0d5aafa9033e0d723487c1 /conf.c
parentbd7b8163bb0be2bd4904a179771a8f79163e8161 (diff)
downloadcwm-4119b5c065ee32189f26a0a95d4c36539003b142.tar.gz
cwm-4119b5c065ee32189f26a0a95d4c36539003b142.tar.xz
cwm-4119b5c065ee32189f26a0a95d4c36539003b142.zip
simplify atom handling; allows us to limit to one round-trip to server
for gathering Atoms.
Diffstat (limited to 'conf.c')
-rw-r--r--conf.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/conf.c b/conf.c
index 89dc18c..504c867 100644
--- a/conf.c
+++ b/conf.c
@@ -663,3 +663,40 @@ conf_grab_kbd(Window win)
 	TAILQ_FOREACH(kb, &Conf.keybindingq, entry)
 		xu_key_grab(win, kb->modmask, kb->keysym);
 }
+
+static char *cwmhints[] = {
+	"WM_STATE",
+	"WM_DELETE_WINDOW",
+	"WM_TAKE_FOCUS",
+	"WM_PROTOCOLS",
+	"_MOTIF_WM_HINTS",
+	"UTF8_STRING",
+	"WM_CHANGE_STATE",
+};
+static char *ewmhints[] = {
+	"_NET_SUPPORTED",
+	"_NET_SUPPORTING_WM_CHECK",
+	"_NET_ACTIVE_WINDOW",
+	"_NET_CLIENT_LIST",
+	"_NET_NUMBER_OF_DESKTOPS",
+	"_NET_CURRENT_DESKTOP",
+	"_NET_DESKTOP_VIEWPORT",
+	"_NET_DESKTOP_GEOMETRY",
+	"_NET_VIRTUAL_ROOTS",
+	"_NET_SHOWING_DESKTOP",
+	"_NET_DESKTOP_NAMES",
+	"_NET_WORKAREA",
+	"_NET_WM_NAME",
+	"_NET_WM_DESKTOP",
+	"_NET_CLOSE_WINDOW",
+	"_NET_WM_STATE",
+	"_NET_WM_STATE_MAXIMIZED_VERT",
+	"_NET_WM_STATE_MAXIMIZED_HORZ",
+};
+
+void
+conf_atoms(void)
+{
+	XInternAtoms(X_Dpy, cwmhints, nitems(cwmhints), False, cwmh);
+	XInternAtoms(X_Dpy, ewmhints, nitems(ewmhints), False, ewmh);
+}