wmii

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

commit ff76a21c49b4acff833592e4ace2d745a164ed55
parent 37146f5b855a452dc8f8b5a877b368b033f2a185
Author: Kris Maglione <jg@suckless.org>
Date:   Wed, 12 Mar 2008 19:29:13 -0400

Fix ticket #16.

Diffstat:
cmd/wmii/client.c | 3++-
cmd/wmii/float.c | 2++
cmd/wmii/frame.c | 10+++++-----
cmd/wmii/view.c | 4+++-
4 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/cmd/wmii/client.c b/cmd/wmii/client.c @@ -485,7 +485,8 @@ client_focus(Client *c) { flushevents(FocusChangeMask, true); Dprint(DFocus, "client_focus([%C]%s) %ld\n", c, clientname(c), id); if(screen->focus != c) { - Dprint(DFocus, "\t[%C]%s => [%C]%s\n", screen->focus, clientname(screen->focus), + Dprint(DFocus, "\t[%C]%s => [%C]%s\n", + screen->focus, clientname(screen->focus), c, clientname(c)); if(c) setfocus(&c->w, RevertToParent); diff --git a/cmd/wmii/float.c b/cmd/wmii/float.c @@ -106,6 +106,8 @@ float_placeframe(Frame *f) { */ vector_rpush(vp, a->r); for(ff=a->frame; ff; ff=ff->anext) { + if(ff == f) + continue; fr = ff->r; vp2->n = 0; for(i=0; i < vp->n; i++) { diff --git a/cmd/wmii/frame.c b/cmd/wmii/frame.c @@ -179,12 +179,12 @@ bdown_event(Window *w, XButtonEvent *e) { if(!e->subwindow) { frame_restack(f, nil); view_restack(f->view); + if(rect_haspoint_p(Pt(e->x, e->y), f->grabbox)) + mouse_movegrabbox(c); + else if(f->area->floating) + if(!e->subwindow && !rect_haspoint_p(Pt(e->x, e->y), f->titlebar)) + mouse_resize(c, quadrant(f->r, Pt(e->x_root, e->y_root))); } - if(rect_haspoint_p(Pt(e->x, e->y), f->grabbox)) - mouse_movegrabbox(c); - else if(f->area->floating) - if(!e->subwindow && !rect_haspoint_p(Pt(e->x, e->y), f->titlebar)) - mouse_resize(c, quadrant(f->r, Pt(e->x_root, e->y_root))); if(f->client != selclient()) focus(c, false); diff --git a/cmd/wmii/view.c b/cmd/wmii/view.c @@ -311,7 +311,9 @@ view_detach(Frame *f) { if(c->sel == f) c->sel = f->cnext; - if(v != screen->sel && empty_p(v)) + if(v == screen->sel) + view_focus(screen, v); + else if(empty_p(v)) view_destroy(v); }