summary refs log tree commit diff
path: root/screen.c
diff options
context:
space:
mode:
authorokan <okan>2015-06-26 16:11:21 +0000
committerokan <okan>2015-06-26 16:11:21 +0000
commit90288e2fc36a3b8be8f16b4f110b8af7e7a2ca12 (patch)
tree780e4aea798bddbf9e00697c8a6c7f490b20b94a /screen.c
parent8aa40078d19b99124efb149bfc43fed47937fc15 (diff)
downloadcwm-90288e2fc36a3b8be8f16b4f110b8af7e7a2ca12.tar.gz
cwm-90288e2fc36a3b8be8f16b4f110b8af7e7a2ca12.tar.xz
cwm-90288e2fc36a3b8be8f16b4f110b8af7e7a2ca12.zip
collect 'gap' applications
Diffstat (limited to 'screen.c')
-rw-r--r--screen.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/screen.c b/screen.c
index 19d92a4..b61df5c 100644
--- a/screen.c
+++ b/screen.c
@@ -140,12 +140,8 @@ screen_find_xinerama(struct screen_ctx *sc, int x, int y, int flags)
 			break;
 		}
 	}
-	if (flags & CWM_GAP) {
-		geom.x += sc->gap.left;
-		geom.y += sc->gap.top;
-		geom.w -= (sc->gap.left + sc->gap.right);
-		geom.h -= (sc->gap.top + sc->gap.bottom);
-	}
+	if (flags & CWM_GAP)
+		geom = screen_apply_gap(sc, geom);
 	return(geom);
 }
 
@@ -160,10 +156,7 @@ screen_update_geometry(struct screen_ctx *sc)
 	sc->view.w = DisplayWidth(X_Dpy, sc->which);
 	sc->view.h = DisplayHeight(X_Dpy, sc->which);
 
-	sc->work.x = sc->view.x + sc->gap.left;
-	sc->work.y = sc->view.y + sc->gap.top;
-	sc->work.w = sc->view.w - (sc->gap.left + sc->gap.right);
-	sc->work.h = sc->view.h - (sc->gap.top + sc->gap.bottom);
+	sc->work = screen_apply_gap(sc, sc->view);
 
 	while ((region = TAILQ_FIRST(&sc->regionq)) != NULL) {
 		TAILQ_REMOVE(&sc->regionq, region, entry);
@@ -200,3 +193,14 @@ screen_update_geometry(struct screen_ctx *sc)
 	xu_ewmh_net_desktop_geometry(sc);
 	xu_ewmh_net_workarea(sc);
 }
+
+struct geom
+screen_apply_gap(struct screen_ctx *sc, struct geom geom)
+{
+	geom.x += sc->gap.left;
+	geom.y += sc->gap.top;
+	geom.w -= (sc->gap.left + sc->gap.right);
+	geom.h -= (sc->gap.top + sc->gap.bottom);
+
+	return(geom);
+}