From 2f199b5ad84adda4a8b7d72b78529d68ec037786 Mon Sep 17 00:00:00 2001 From: okan Date: Fri, 13 Dec 2013 22:39:13 +0000 Subject: Teach screen_find_xinerama() to apply gap only when told to do so; adjust callers. Needed for an upcoming feature. --- screen.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'screen.c') diff --git a/screen.c b/screen.c index dce4065..11ff286 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.52 2013/06/17 17:11:10 okan Exp $ + * $OpenBSD: screen.c,v 1.53 2013/12/13 22:39:13 okan Exp $ */ #include @@ -126,7 +126,7 @@ screen_updatestackingorder(struct screen_ctx *sc) * Find which xinerama screen the coordinates (x,y) is on. */ struct geom -screen_find_xinerama(struct screen_ctx *sc, int x, int y) +screen_find_xinerama(struct screen_ctx *sc, int x, int y, int flags) { XineramaScreenInfo *info; struct geom geom; @@ -141,13 +141,19 @@ screen_find_xinerama(struct screen_ctx *sc, int x, int y) info = &sc->xinerama[i]; if (x >= info->x_org && x < info->x_org + info->width && y >= info->y_org && y < info->y_org + info->height) { - geom.x = info->x_org + sc->gap.left; - geom.y = info->y_org + sc->gap.top; - geom.w = info->width - (sc->gap.left + sc->gap.right); - geom.h = info->height - (sc->gap.top + sc->gap.bottom); + geom.x = info->x_org; + geom.y = info->y_org; + geom.w = info->width; + geom.h = info->height; 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); + } return (geom); } -- cgit v1.2.3-2-gb3c3