From fde45ebed844c227a17c21d161f60aa55c8b3c41 Mon Sep 17 00:00:00 2001 From: "Anselm R.Garbe" Date: Thu, 10 Aug 2006 11:26:32 +0200 Subject: applied sumik's multihead patch --- client.c | 2 ++ draw.c | 2 +- event.c | 15 ++++++++++----- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/client.c b/client.c index f268623..773b8f8 100644 --- a/client.c +++ b/client.c @@ -49,6 +49,8 @@ ban(Client *c) void focus(Client *c) { + if (!issel) + return; Client *old = sel; XEvent ev; diff --git a/draw.c b/draw.c index 5d19bfb..869c2f2 100644 --- a/draw.c +++ b/draw.c @@ -138,7 +138,7 @@ drawtitle(Client *c) 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 --git a/event.c b/event.c index 36d873f..25ed6fa 100644 --- a/event.c +++ b/event.c @@ -114,10 +114,10 @@ buttonpress(XEvent *e) } break; case Button4: - viewnext(&a); + viewprev(&a); break; case Button5: - viewprev(&a); + viewnext(&a); break; } } @@ -226,8 +226,11 @@ enternotify(XEvent *e) 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 @@ leavenotify(XEvent *e) { 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 -- cgit v1.2.3-13-gbd6f