summary refs log tree commit diff
path: root/client.c
diff options
context:
space:
mode:
authoroga <oga>2008-04-15 18:46:58 +0000
committeroga <oga>2008-04-15 18:46:58 +0000
commit3a94c57afc6067c60b639944ef2042b0d73fb47e (patch)
tree803a2c9146119a6e3971f98e93b4df41dfa6e740 /client.c
parent4bbb472a25c62b8266de2225c5f98b96ab829e1c (diff)
downloadcwm-3a94c57afc6067c60b639944ef2042b0d73fb47e.tar.gz
cwm-3a94c57afc6067c60b639944ef2042b0d73fb47e.tar.xz
cwm-3a94c57afc6067c60b639944ef2042b0d73fb47e.zip
Add "gap" support to .cwmrc. The options put in here make gaps on the edge
of the screen where an application won't be {,vert}maximized over. used for
placing a statusbar or something like xclock.

Patch from Edd Barrett, with input from myself and okan. Thanks!

ok okan@.
Diffstat (limited to 'client.c')
-rw-r--r--client.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/client.c b/client.c
index 6691c6b..7b56e23 100644
--- a/client.c
+++ b/client.c
@@ -339,10 +339,12 @@ client_maximize(struct client_ctx *cc)
 		XGetWindowAttributes(X_Dpy, sc->rootwin, &rootwin_geom);
 		if (!(cc->flags & CLIENT_VMAXIMIZED))
 			cc->savegeom = cc->geom;
-		cc->geom.x = 0;
-		cc->geom.y = 0;
-		cc->geom.height = rootwin_geom.height;
-		cc->geom.width = rootwin_geom.width;
+		cc->geom.x = Conf.gap_left;
+		cc->geom.y = Conf.gap_top;
+		cc->geom.height = rootwin_geom.height -
+			(Conf.gap_top + Conf.gap_bottom);
+		cc->geom.width = rootwin_geom.width -
+			(Conf.gap_left + Conf.gap_right);
 		cc->flags |= CLIENT_DOMAXIMIZE;
 	}
 
@@ -765,12 +767,9 @@ client_vertmaximize(struct client_ctx *cc)
         
 		if (!(cc->flags & CLIENT_MAXIMIZED)) 
 			cc->savegeom = cc->geom;
-		cc->geom.y = cc->bwidth;
-		if (cc->geom.min_dx == 0)
-			cc->geom.height = display_height; 
-		else
-			cc->geom.height = display_height -
-			    (display_height % cc->geom.min_dx);
+		cc->geom.y = cc->bwidth + Conf.gap_top;
+		cc->geom.height = display_height -
+			(Conf.gap_top + Conf.gap_bottom); 
 		cc->flags |= CLIENT_DOVMAXIMIZE;
 	}