X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=event.c;h=0133889cdeb2662100c093119bda3c3a7e7b39ce;hb=201c56f6d36e7f895c465f534fdb90e3d9e4ca18;hp=2deef143a55f2543ff71f6416a0ae0461bf74a2d;hpb=653826572d5dfe36fc567b2fdce7ef5d9ad0bfbc;p=dwm.git diff --git a/event.c b/event.c index 2deef14..0133889 100644 --- a/event.c +++ b/event.c @@ -196,7 +196,7 @@ configurerequest(XEvent *e) { if(c->isfloat) { resize(c, False, TopLeft); if(!isvisible(c)) - ban(c); + XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y); } else arrange(); @@ -230,25 +230,21 @@ enternotify(XEvent *e) { if(ev->mode != NotifyNormal || ev->detail == NotifyInferior) return; - if(((c = getclient(ev->window)) || (c = getctitle(ev->window))) && isvisible(c)) + if((c = getclient(ev->window)) && isvisible(c)) focus(c); else if(ev->window == root) { issel = True; - XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); - drawall(); + focus(sel); } } static void expose(XEvent *e) { - Client *c; XExposeEvent *ev = &e->xexpose; if(ev->count == 0) { if(barwin == ev->window) drawstatus(); - else if((c = getctitle(ev->window))) - drawclient(c); } } @@ -275,8 +271,8 @@ leavenotify(XEvent *e) { XCrossingEvent *ev = &e->xcrossing; if((ev->window == root) && !ev->same_screen) { + focus(NULL); issel = False; - drawall(); } } @@ -331,8 +327,8 @@ propertynotify(XEvent *e) { } if(ev->atom == XA_WM_NAME || ev->atom == netatom[NetWMName]) { updatetitle(c); - resizetitle(c); - drawclient(c); + if(c == sel) + drawstatus(); } } }