summary refs log tree commit diff
path: root/xutil.c
diff options
context:
space:
mode:
authorokan <okan>2016-10-04 15:18:20 +0000
committerokan <okan>2016-10-04 15:18:20 +0000
commit9306c1fbd3e491b9dcdcbb8587460296843a10ce (patch)
treee2851b48a7e80954e8556f5336865763133a794e /xutil.c
parent8aa5033d12eec5e764885f3e8b27c1df22d6b0df (diff)
downloadcwm-9306c1fbd3e491b9dcdcbb8587460296843a10ce.tar.gz
cwm-9306c1fbd3e491b9dcdcbb8587460296843a10ce.tar.xz
cwm-9306c1fbd3e491b9dcdcbb8587460296843a10ce.zip
Turn CALMWM_NGROUPS define into variable, ngroups.
Diffstat (limited to 'xutil.c')
-rw-r--r--xutil.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/xutil.c b/xutil.c
index cd7dfb9..5cb3637 100644
--- a/xutil.c
+++ b/xutil.c
@@ -131,19 +131,20 @@ xu_ewmh_net_desktop_geometry(struct screen_ctx *sc)
 void
 xu_ewmh_net_workarea(struct screen_ctx *sc)
 {
-	long	 workareas[CALMWM_NGROUPS][4];
-	int	 i;
-
-	for (i = 0; i < CALMWM_NGROUPS; i++) {
-		workareas[i][0] = sc->work.x;
-		workareas[i][1] = sc->work.y;
-		workareas[i][2] = sc->work.w;
-		workareas[i][3] = sc->work.h;
+	unsigned long	*workarea;
+	int		 i, ngroups = Conf.ngroups;
+
+	workarea = xreallocarray(NULL, ngroups * 4, sizeof(unsigned long));
+	for (i = 0; i < ngroups; i++) {
+		workarea[4 * i + 0] = sc->work.x;
+		workarea[4 * i + 1] = sc->work.y;
+		workarea[4 * i + 2] = sc->work.w;
+		workarea[4 * i + 3] = sc->work.h;
 	}
-
 	XChangeProperty(X_Dpy, sc->rootwin, ewmh[_NET_WORKAREA],
-	    XA_CARDINAL, 32, PropModeReplace, (unsigned char *)workareas,
-	    CALMWM_NGROUPS * 4);
+	    XA_CARDINAL, 32, PropModeReplace, (unsigned char *)workarea,
+	    ngroups * 4);
+	free(workarea);
 }
 
 void
@@ -223,7 +224,7 @@ xu_ewmh_net_wm_desktop_viewport(struct screen_ctx *sc)
 void
 xu_ewmh_net_wm_number_of_desktops(struct screen_ctx *sc)
 {
-	long	 ndesks = CALMWM_NGROUPS;
+	long	 ndesks = Conf.ngroups;
 
 	XChangeProperty(X_Dpy, sc->rootwin, ewmh[_NET_NUMBER_OF_DESKTOPS],
 	    XA_CARDINAL, 32, PropModeReplace, (unsigned char *)&ndesks, 1);