summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--calmwm.h9
-rw-r--r--client.c8
-rw-r--r--conf.c16
-rw-r--r--parse.y18
4 files changed, 23 insertions, 28 deletions
diff --git a/calmwm.h b/calmwm.h
index 7237e28..543300e 100644
--- a/calmwm.h
+++ b/calmwm.h
@@ -97,11 +97,6 @@ enum cwmcolor {
 	CWM_COLOR_MAX
 };
 
-struct color {
-	char		*name;
-	unsigned long	 pixel;
-};
-
 struct geom {
 	int		 x;
 	int		 y;
@@ -211,7 +206,7 @@ struct screen_ctx {
 	Colormap		 colormap;
 	Window			 rootwin;
 	Window			 menuwin;
-	struct color		 color[CWM_COLOR_MAX];
+	unsigned long		 color[CWM_COLOR_MAX];
 	int			 cycling;
 	struct geom		 view; /* viewable area */
 	struct geom		 work; /* workable area, gap-applied */
@@ -291,7 +286,7 @@ struct conf {
 #define	CONF_SNAPDIST			0
 	int			 snapdist;
 	struct gap		 gap;
-	struct color		 color[CWM_COLOR_MAX];
+	char			*color[CWM_COLOR_MAX];
 	char		 	*menucolor[CWM_COLOR_MENU_MAX];
 	char			 termpath[MAXPATHLEN];
 	char			 lockpath[MAXPATHLEN];
diff --git a/client.c b/client.c
index c76c1f4..b61b7ef 100644
--- a/client.c
+++ b/client.c
@@ -475,17 +475,17 @@ client_draw_border(struct client_ctx *cc)
 	if (cc->active)
 		switch (cc->flags & CLIENT_HIGHLIGHT) {
 		case CLIENT_GROUP:
-			pixel = sc->color[CWM_COLOR_BORDER_GROUP].pixel;
+			pixel = sc->color[CWM_COLOR_BORDER_GROUP];
 			break;
 		case CLIENT_UNGROUP:
-			pixel = sc->color[CWM_COLOR_BORDER_UNGROUP].pixel;
+			pixel = sc->color[CWM_COLOR_BORDER_UNGROUP];
 			break;
 		default:
-			pixel = sc->color[CWM_COLOR_BORDER_ACTIVE].pixel;
+			pixel = sc->color[CWM_COLOR_BORDER_ACTIVE];
 			break;
 		}
 	else
-		pixel = sc->color[CWM_COLOR_BORDER_INACTIVE].pixel;
+		pixel = sc->color[CWM_COLOR_BORDER_INACTIVE];
 
 	XSetWindowBorderWidth(X_Dpy, cc->win, cc->bwidth);
 	XSetWindowBorder(X_Dpy, cc->win, pixel);
diff --git a/conf.c b/conf.c
index f583f78..b9f5bce 100644
--- a/conf.c
+++ b/conf.c
@@ -71,11 +71,11 @@ static char *menu_color_binds[CWM_COLOR_MENU_MAX] = {
 	"",  	 /* CWM_COLOR_MENU_FONT_SEL */
 };
 
-static struct color color_binds[CWM_COLOR_MAX] = {
-	{ "#CCCCCC",	0 }, /* CWM_COLOR_BORDER_ACTIVE */
-	{ "#666666",	0 }, /* CWM_COLOR_BORDER_INACTIVE */
-	{ "blue",	0 }, /* CWM_COLOR_BORDER_GROUP */
-	{ "red",	0 }, /* CWM_COLOR_BORDER_UNGROUP */
+static char *color_binds[CWM_COLOR_MAX] = {
+	"#CCCCCC", /* CWM_COLOR_BORDER_ACTIVE */
+	"#666666", /* CWM_COLOR_BORDER_INACTIVE */
+	"blue",	   /* CWM_COLOR_BORDER_GROUP */
+	"red",	   /* CWM_COLOR_BORDER_UNGROUP */
 };
 
 void
@@ -84,7 +84,7 @@ conf_color(struct conf *c, struct screen_ctx *sc)
 	int	 i;
 
 	for (i = 0; i < CWM_COLOR_MAX; i++)
-		sc->color[i].pixel = xu_getcolor(sc, c->color[i].name);
+		sc->color[i] = xu_getcolor(sc, c->color[i]);
 }
 
 static struct {
@@ -184,7 +184,7 @@ conf_init(struct conf *c)
 		conf_mousebind(c, m_binds[i].key, m_binds[i].func);
 
 	for (i = 0; i < nitems(color_binds); i++)
-		c->color[i].name = xstrdup(color_binds[i].name);
+		c->color[i] = xstrdup(color_binds[i]);
 
 	for (i = 0; i < nitems(menu_color_binds); i++)
 		c->menucolor[i] = xstrdup(menu_color_binds[i]);
@@ -237,7 +237,7 @@ conf_clear(struct conf *c)
 	}
 
 	for (i = 0; i < CWM_COLOR_MAX; i++)
-		free(c->color[i].name);
+		free(c->color[i]);
 
 	free(c->font);
 }
diff --git a/parse.y b/parse.y
index 4f00198..fe8ddb2 100644
--- a/parse.y
+++ b/parse.y
@@ -171,20 +171,20 @@ color		: COLOR colors
 		;
 
 colors		: ACTIVEBORDER STRING {
-			free(conf->color[CWM_COLOR_BORDER_ACTIVE].name);
-			conf->color[CWM_COLOR_BORDER_ACTIVE].name = $2;
+			free(conf->color[CWM_COLOR_BORDER_ACTIVE]);
+			conf->color[CWM_COLOR_BORDER_ACTIVE] = $2;
 		}
 		| INACTIVEBORDER STRING {
-			free(conf->color[CWM_COLOR_BORDER_INACTIVE].name);
-			conf->color[CWM_COLOR_BORDER_INACTIVE].name = $2;
+			free(conf->color[CWM_COLOR_BORDER_INACTIVE]);
+			conf->color[CWM_COLOR_BORDER_INACTIVE] = $2;
 		}
 		| GROUPBORDER STRING {
-			free(conf->color[CWM_COLOR_BORDER_GROUP].name);
-			conf->color[CWM_COLOR_BORDER_GROUP].name = $2;
+			free(conf->color[CWM_COLOR_BORDER_GROUP]);
+			conf->color[CWM_COLOR_BORDER_GROUP] = $2;
 		}
 		| UNGROUPBORDER STRING {
-			free(conf->color[CWM_COLOR_BORDER_UNGROUP].name);
-			conf->color[CWM_COLOR_BORDER_UNGROUP].name = $2;
+			free(conf->color[CWM_COLOR_BORDER_UNGROUP]);
+			conf->color[CWM_COLOR_BORDER_UNGROUP] = $2;
 		}
 		| MENUBG STRING {
 			free(conf->menucolor[CWM_COLOR_MENU_BG]);
@@ -579,7 +579,7 @@ parse_config(const char *filename, struct conf *xconf)
 		    sizeof(xconf->lockpath));
 
 		for (i = 0; i < CWM_COLOR_MAX; i++)
-			xconf->color[i].name = conf->color[i].name;
+			xconf->color[i] = conf->color[i];
 
 		for (i = 0; i < CWM_COLOR_MENU_MAX; i++)
 			xconf->menucolor[i] = conf->menucolor[i];