about summary refs log tree commit diff
diff options
context:
space:
mode:
authorokan <okan>2013-05-22 16:54:09 +0000
committerokan <okan>2013-05-22 16:54:09 +0000
commitd1eadee9226043af0e2a7043a958e6c4d8e405bc (patch)
tree546aa3fc94128d3591cafe0306c2d91069e81f08
parent532f132194751bd2f530a13c243a30c76f66bfaa (diff)
downloadcwm-d1eadee9226043af0e2a7043a958e6c4d8e405bc.tar.gz
cwm-d1eadee9226043af0e2a7043a958e6c4d8e405bc.tar.xz
cwm-d1eadee9226043af0e2a7043a958e6c4d8e405bc.zip
get rid of long standing XXX: now that we configure screens based on
config options, add the keybinding GrabKey calls here
-rw-r--r--calmwm.c8
-rw-r--r--conf.c8
2 files changed, 6 insertions, 10 deletions
diff --git a/calmwm.c b/calmwm.c
index e9b3902..f2dff49 100644
--- a/calmwm.c
+++ b/calmwm.c
@@ -144,7 +144,6 @@ dpy_init(const char *dpyname)
 static void
 x_setup(void)
 {
-	struct keybinding	*kb;
 	int			 i;
 
 	Cursor_default = XCreateFontCursor(X_Dpy, XC_X_cursor);
@@ -155,13 +154,6 @@ x_setup(void)
 
 	for (i = 0; i < ScreenCount(X_Dpy); i++)
 		screen_init(i);
-
-	/*
-	 * XXX key grabs weren't done before, since Screenq was empty,
-	 * do them here for now (this needs changing).
-	 */
-	TAILQ_FOREACH(kb, &Conf.keybindingq, entry)
-		conf_grab(&Conf, kb);
 }
 
 static void
diff --git a/conf.c b/conf.c
index 0afc11d..b3c5210 100644
--- a/conf.c
+++ b/conf.c
@@ -98,8 +98,9 @@ static char *color_binds[CWM_COLOR_MAX] = {
 void
 conf_screen(struct screen_ctx *sc)
 {
-	int		 i;
-	XftColor	 xc;
+	struct keybinding	*kb;
+	int			 i;
+	XftColor		 xc;
 
 	sc->gap = Conf.gap;
 
@@ -139,6 +140,9 @@ conf_screen(struct screen_ctx *sc)
 	    sc->visual, sc->colormap);
 	if (sc->xftdraw == NULL)
 		errx(1, "XftDrawCreate");
+
+	TAILQ_FOREACH(kb, &Conf.keybindingq, entry)
+		xu_key_grab(sc->rootwin, kb->modmask, kb->keysym);
 }
 
 static struct {