wmii

git clone git://oldgit.suckless.org/wmii/
Log | Files | Refs | README | LICENSE

commit 40a69dddaf176fcc3512ccd5d382f9012831886d
parent 2b3eb084f7473a7dce0a507550a97d4616b9c7b3
Author: Anselm R. Garbe <garbeam@wmii.de>
Date:   Thu,  6 Apr 2006 12:52:20 +0200

fixed mouse grabbing for selection and resizals


Diffstat:
cmd/wm/client.c | 8+-------
cmd/wm/view.c | 10+++++++++-
2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/cmd/wm/client.c b/cmd/wm/client.c @@ -90,14 +90,8 @@ focus_client(Client *c) v->sel = i; f->area->sel = frame2index(f); - if(old && (old != c)) { - grab_mouse(old->framewin, AnyModifier, Button1); + if(old) draw_client(old); - } - ungrab_mouse(c->framewin, AnyModifier, AnyButton); - grab_mouse(c->framewin, Mod1Mask, Button1); - grab_mouse(c->framewin, Mod1Mask, Button3); - restack_view(v); XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); diff --git a/cmd/wm/view.c b/cmd/wm/view.c @@ -269,9 +269,17 @@ restack_view(View *v) if(a->frame.size) { wins[n++] = a->frame.data[a->sel]->client->framewin; for(j = 0; j < a->frame.size; j++) { + Client *c = a->frame.data[j]->client; + if((v->sel == i) && (a->sel == j)) { + ungrab_mouse(c->framewin, AnyModifier, AnyButton); + grab_mouse(c->framewin, Mod1Mask, Button1); + grab_mouse(c->framewin, Mod1Mask, Button3); + } + else + grab_mouse(c->framewin, AnyModifier, Button1); if(j == a->sel) continue; - wins[n++] = a->frame.data[j]->client->framewin; + wins[n++] = c->framewin; } } }