aboutsummaryrefslogtreecommitdiffstats
path: root/screen.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--screen.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/screen.c b/screen.c
index 76fad3d..9f05194 100644
--- a/screen.c
+++ b/screen.c
@@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $OpenBSD: screen.c,v 1.72 2015/06/26 15:21:58 okan Exp $
+ * $OpenBSD: screen.c,v 1.73 2015/06/26 16:11:21 okan Exp $
*/
#include <sys/types.h>
@@ -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);
+}