summary refs log tree commit diff
path: root/calmwm.c
diff options
context:
space:
mode:
authoroga <oga>2009-12-10 17:16:51 +0000
committeroga <oga>2009-12-10 17:16:51 +0000
commit134e777cf095ae292730e1c9d3f7967099878024 (patch)
tree80a226385db61bf2bdf72e0c0b3490f0930303e9 /calmwm.c
parentee7df6a95f80bebc9ec2d8571c1ff8ff2f53cfd0 (diff)
downloadcwm-134e777cf095ae292730e1c9d3f7967099878024.tar.gz
cwm-134e777cf095ae292730e1c9d3f7967099878024.tar.xz
cwm-134e777cf095ae292730e1c9d3f7967099878024.zip
finish unfucking the screen_ctx handling.
remove screen_current() it was utterly bogus when nscreens > 1.

pass a fake client_ctx in the case where there's no client and the
kbfunc or mousefunc doesn't need a real one, it just contains the
current screen, modify these functions so that they pass down the screen
context to their callees.

make groups per screen, it's the only way it makes sense in this regard.

ok okan@.
Diffstat (limited to 'calmwm.c')
-rw-r--r--calmwm.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/calmwm.c b/calmwm.c
index 8cc62d5..4bd1567 100644
--- a/calmwm.c
+++ b/calmwm.c
@@ -30,8 +30,6 @@ Cursor				 Cursor_default;
 Cursor				 Cursor_question;
 
 struct screen_ctx_q		 Screenq = TAILQ_HEAD_INITIALIZER(Screenq);
-struct screen_ctx		*Curscreen;
-
 struct client_ctx_q		 Clientq = TAILQ_HEAD_INITIALIZER(Clientq);
 
 int				 HasXinerama, HasRandr, Randr_ev;
@@ -73,8 +71,6 @@ main(int argc, char **argv)
 	Starting = 1;
 	dpy_init(display_name);
 
-	group_init();
-
 	bzero(&Conf, sizeof(Conf));
 	conf_setup(&Conf, conf_file);
 	xu_getatoms();
@@ -149,8 +145,6 @@ x_setupscreen(struct screen_ctx *sc, u_int which)
 	int			 fake;
 	u_int			 ndesks = CALMWM_NGROUPS, nwins, i;
 
-	Curscreen = sc;
-
 	sc->which = which;
 	sc->rootwin = RootWindow(X_Dpy, sc->which);
 	sc->xmax = DisplayWidth(X_Dpy, sc->which);
@@ -158,6 +152,7 @@ x_setupscreen(struct screen_ctx *sc, u_int which)
 
 	conf_color(&Conf, sc);
 
+	group_init(sc);
 	font_init(sc);
 	conf_font(&Conf, sc);
 
@@ -187,7 +182,7 @@ x_setupscreen(struct screen_ctx *sc, u_int which)
 	}
 	XFree(wins);
 
-	screen_updatestackingorder();
+	screen_updatestackingorder(sc);
 
 	rootattr.event_mask = ChildMask|PropertyChangeMask|EnterWindowMask|
 	    LeaveWindowMask|ColormapChangeMask|ButtonMask;