dwm

[fork] dynamic window manager
Log | Files | Refs | README | LICENSE

commit fde45ebed844c227a17c21d161f60aa55c8b3c41
parent 4bd0d33f57c6fb764ef546a9b0ebfcd20ff1df70
Author: Anselm R.Garbe <arg@10ksloc.org>
Date:   Thu, 10 Aug 2006 11:26:32 +0200

applied sumik's multihead patch

Diffstat:
Mclient.c | 2++
Mdraw.c | 2+-
Mevent.c | 15++++++++++-----
3 files changed, 13 insertions(+), 6 deletions(-)

diff --git 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 @@ -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 @@ -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