wmii

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

commit ed27c6b646a85c6fb690a701bda50c8ba4ac94e1
parent 576075e75f86b83fdc9c45d7d30d8ee1f861be87
Author: Anselm R. Garbe <garbeam@wmii.de>
Date:   Wed, 18 Jan 2006 16:02:29 +0200

fixed focus-on-click, next is click-through


Diffstat:
cmd/wm/client.c | 6+++---
cmd/wm/layout_column.c | 11+++--------
cmd/wm/layout_float.c | 11+++--------
cmd/wm/page.c | 8++++----
4 files changed, 13 insertions(+), 23 deletions(-)

diff --git a/cmd/wm/client.c b/cmd/wm/client.c @@ -62,12 +62,12 @@ void grab_client(Client * c, unsigned long mod, unsigned int button) { XGrabButton(dpy, button, mod, c->win, False, - ButtonPressMask, GrabModeSync, GrabModeAsync, None, None); + ButtonPressMask, GrabModeAsync, GrabModeAsync, None, None); if((mod != AnyModifier) && num_lock_mask) { XGrabButton(dpy, button, mod | num_lock_mask, c->win, False, - ButtonPressMask, GrabModeSync, GrabModeAsync, None, None); + ButtonPressMask, GrabModeAsync, GrabModeAsync, None, None); XGrabButton(dpy, button, mod | num_lock_mask | LockMask, c->win, - True, ButtonPressMask, GrabModeSync, GrabModeAsync, None, None); + False, ButtonPressMask, GrabModeAsync, GrabModeAsync, None, None); } } diff --git a/cmd/wm/layout_column.c b/cmd/wm/layout_column.c @@ -141,7 +141,6 @@ attach_frame(Layout *l, Column * col, Frame * new) c->next = cell; cell->prev = c; } - col->sel = cell; col->ncells++; for(f = acme->frames; f && f->next; f = f->next); @@ -162,20 +161,16 @@ detach_frame(Layout *l, Frame * old) Cell *cell = old->aux; Column *col = cell->col; - if(col->sel == cell) { - if(cell->prev) - col->sel = cell->prev; - else - col->sel = nil; - } if(cell->prev) cell->prev->next = cell->next; else col->cells = cell->next; if(cell->next) cell->next->prev = cell->prev; - if(!col->sel) + + if(col->sel == cell) col->sel = col->cells; + free(cell); col->ncells--; diff --git a/cmd/wm/layout_float.c b/cmd/wm/layout_float.c @@ -90,7 +90,6 @@ attach_frame(Layout *l, Frame * new) new->prev = f; } attach_frame_to_layout(l, new); - fl->sel = new; fl->nframes++; } @@ -99,20 +98,16 @@ detach_frame(Layout *l, Frame * old) { Float *fl = l->aux; - if(fl->sel == old) { - if(old->prev) - fl->sel = old->prev; - else - fl->sel = nil; - } if(old->prev) old->prev->next = old->next; else fl->frames = old->next; if(old->next) old->next->prev = old->prev; - if(!fl->sel) + + if(fl->sel == old) fl->sel = fl->frames; + detach_frame_from_layout(old); fl->nframes--; } diff --git a/cmd/wm/page.c b/cmd/wm/page.c @@ -129,12 +129,12 @@ focus_page(Page * p) unmap_layout(selpage->floating); } } - else - return; + if(p != selpage) { + map_layout(p->managed, False); + map_layout(p->floating, False); + } selpage = p; - map_layout(p->managed, False); - map_layout(p->floating, False); def[WM_SEL_PAGE]->content = p->file[P_PREFIX]->content; invoke_wm_event(def[WM_EVENT_PAGE_UPDATE]); focus_layout(p->sel);