# HG changeset patch # User Anselm R.Garbe # Date 1155201992 -7200 # Node ID e5390f8e06b98d6057c95eaeaece14a4fcd50f28 # Parent 969fb6be25e15ca0a4911d0b944c0e85b5be9088 applied sumik's multihead patch diff -r 969fb6be25e1 -r e5390f8e06b9 client.c --- a/client.c Thu Aug 10 11:19:25 2006 +0200 +++ b/client.c Thu Aug 10 11:26:32 2006 +0200 @@ -49,6 +49,8 @@ void focus(Client *c) { + if (!issel) + return; Client *old = sel; XEvent ev; diff -r 969fb6be25e1 -r e5390f8e06b9 draw.c --- a/draw.c Thu Aug 10 11:19:25 2006 +0200 +++ b/draw.c Thu Aug 10 11:26:32 2006 +0200 @@ -138,7 +138,7 @@ int i; Bool istile = arrange == dotile; - if(c == sel) { + if(c == sel && issel) { drawstatus(); XUnmapWindow(dpy, c->title); XSetWindowBorder(dpy, c->win, dc.fg); diff -r 969fb6be25e1 -r e5390f8e06b9 event.c --- a/event.c Thu Aug 10 11:19:25 2006 +0200 +++ b/event.c Thu Aug 10 11:26:32 2006 +0200 @@ -114,10 +114,10 @@ } break; case Button4: - viewnext(&a); + viewprev(&a); break; case Button5: - viewprev(&a); + viewnext(&a); break; } } @@ -226,8 +226,11 @@ if((c = getclient(ev->window)) || (c = getctitle(ev->window))) focus(c); - else if(ev->window == root) + else if(ev->window == root) { issel = True; + XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); + drawall(); + } } static void @@ -267,8 +270,10 @@ { XCrossingEvent *ev = &e->xcrossing; - if((ev->window == root) && !ev->same_screen) - issel = True; + if((ev->window == root) && !ev->same_screen) { + issel = False; + drawall(); + } } static void