I think this is the best solution of multihead support - dwm - dynamic window manager HTML git clone https://git.parazyd.org/dwm DIR Log DIR Files DIR Refs DIR README DIR LICENSE --- DIR commit 373b11de11fd5cee875ef521e3ac0527565c4721 DIR parent 04a2b745299668890ae8571d6812514dbd487245 HTML Author: Anselm R. Garbe <arg@suckless.org> Date: Tue, 23 Jan 2007 11:49:16 +0100 I think this is the best solution of multihead support Diffstat: M client.c | 16 ++++++---------- M event.c | 2 +- 2 files changed, 7 insertions(+), 11 deletions(-) --- DIR diff --git a/client.c b/client.c @@ -89,16 +89,12 @@ focus(Client *c) { XSetWindowBorder(dpy, old->win, dc.norm[ColBorder]); } if(c) { - if(issel) { - detachstack(c); - c->snext = stack; - stack = c; - grabbuttons(c, True); - XSetWindowBorder(dpy, c->win, dc.sel[ColBorder]); - XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); - } - else - XSetWindowBorder(dpy, c->win, dc.norm[ColBorder]); + detachstack(c); + c->snext = stack; + stack = c; + grabbuttons(c, True); + XSetWindowBorder(dpy, c->win, dc.sel[ColBorder]); + XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); } else if(issel) XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); DIR diff --git a/event.c b/event.c @@ -270,7 +270,7 @@ leavenotify(XEvent *e) { if((ev->window == root) && !ev->same_screen) { issel = False; - focus(sel); + focus(NULL); } }