From 3361a3b8bc5752967b65c709027dfc53602fc9d0 Mon Sep 17 00:00:00 2001 From: Martin Duquesnoy Date: Sun, 29 Jan 2012 04:59:34 +0100 Subject: [PATCH] Fix configureevent for free mode apps-integrated mouse resize, and simplify some code --- src/client.c | 5 ----- src/event.c | 4 ++-- src/layout.c | 13 +++++++------ 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/client.c b/src/client.c index 932f9e0..e54e88b 100644 --- a/src/client.c +++ b/src/client.c @@ -137,13 +137,8 @@ client_gb_pos(struct tag *t, int x, int y) struct client *c = SLIST_FIRST(&t->clients); FOREACH_NFCLIENT(c, &t->clients, tnext) - { - if(c->flags & CLIENT_FREE) - continue; - if(INAREA(x, y, c->geo)) return c; - } return NULL; } diff --git a/src/event.c b/src/event.c index 4a56169..ba684f1 100644 --- a/src/event.c +++ b/src/event.c @@ -161,9 +161,9 @@ event_configureevent(XEvent *e) if(c->flags & CLIENT_FREE) { if(ev->value_mask & CWX) - c->geo.x = ev->x; + c->geo.x = ev->x - c->border; if(ev->value_mask & CWY) - c->geo.y = ev->y; + c->geo.y = ev->y - c->tbarw; if(ev->value_mask & CWWidth) c->geo.w = ev->width + c->border + c->border; if(ev->value_mask & CWHeight) diff --git a/src/layout.c b/src/layout.c index a83311e..4eb1d0d 100644 --- a/src/layout.c +++ b/src/layout.c @@ -364,6 +364,7 @@ void layout_split_integrate(struct client *c, struct client *sc) { struct geo g; + bool f; /* No sc or not compatible sc */ if(!sc || sc == c || sc->tag != c->tag @@ -374,14 +375,14 @@ layout_split_integrate(struct client *c, struct client *sc) * maximize the lonely client */ FOREACH_NFCLIENT(sc, &c->tag->clients, tnext) - { - if(sc == c || sc->flags & CLIENT_TABBED) - continue; - break; - } + if(sc != c && !(sc->flags & CLIENT_TABBED)) + { + f = true; + break; + } /* Ok there is no client to integrate in */ - if(!sc) + if(!f) { client_maximize(c); c->flags |= CLIENT_TILED;