tthis variant is known to work, but focus() is ugly - we need in general a bett… | |
git clone git://src.adamsgaard.dk/dwm | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit fcd98308ba65c8872b485ac7f1800841b0a29e5c | |
parent b233089815367983e07939b2aabb999fdc359f91 | |
Author: Anselm R. Garbe <[email protected]> | |
Date: Mon, 22 Jan 2007 10:35:58 +0100 | |
tthis variant is known to work, but focus() is ugly - we need in general a bett… | |
Diffstat: | |
M client.c | 20 ++++++++++++-------- | |
M event.c | 2 +- | |
2 files changed, 13 insertions(+), 9 deletions(-) | |
--- | |
diff --git a/client.c b/client.c | |
t@@ -81,7 +81,7 @@ void | |
focus(Client *c) { | |
Client *old = sel; | |
- if(!issel || (c && !isvisible(c))) | |
+ if(c && !isvisible(c)) | |
return; | |
if(old && old != c) { | |
t@@ -89,14 +89,18 @@ focus(Client *c) { | |
XSetWindowBorder(dpy, old->win, dc.norm[ColBorder]); | |
} | |
if(c) { | |
- detachstack(c); | |
- c->snext = stack; | |
- stack = c; | |
- grabbuttons(c, True); | |
- XSetWindowBorder(dpy, c->win, dc.sel[ColBorder]); | |
- XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); | |
+ if(issel) { | |
+ detachstack(c); | |
+ c->snext = stack; | |
+ stack = c; | |
+ grabbuttons(c, True); | |
+ XSetWindowBorder(dpy, c->win, dc.sel[ColBorder]); | |
+ XSetInputFocus(dpy, c->win, RevertToPointerRoot, Curre… | |
+ } | |
+ else | |
+ XSetWindowBorder(dpy, c->win, dc.norm[ColBorder]); | |
} | |
- else | |
+ else if(issel) | |
XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); | |
sel = c; | |
drawstatus(); | |
diff --git a/event.c b/event.c | |
t@@ -269,8 +269,8 @@ leavenotify(XEvent *e) { | |
XCrossingEvent *ev = &e->xcrossing; | |
if((ev->window == root) && !ev->same_screen) { | |
- focus(NULL); | |
issel = False; | |
+ focus(sel); | |
} | |
} | |