X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=client.c;h=6a178f8c09fb13b54633c924ea8d077ca74503a7;hb=1f18466409aeb40e27b79814247dbda2d40369e2;hp=0a59c22d30b508504f46527134531ba0a8fbd3e6;hpb=edb2660a2e61e300fb47a9a15fb264fca5c9895e;p=dwm.git diff --git a/client.c b/client.c index 0a59c22..6a178f8 100644 --- a/client.c +++ b/client.c @@ -85,20 +85,22 @@ focus(Client *c) { grabbuttons(sel, False); XSetWindowBorder(dpy, sel->win, dc.norm[ColBorder]); } - sel = c; - if(!issel) - return; if(c) { detachstack(c); c->snext = stack; stack = c; grabbuttons(c, True); + } + sel = c; + drawstatus(); + if(!selscreen) + return; + if(c) { XSetWindowBorder(dpy, c->win, dc.sel[ColBorder]); XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); } else XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); - drawstatus(); } Client * @@ -140,14 +142,14 @@ manage(Window w, XWindowAttributes *wa) { } else { c->border = BORDERPX; - if(c->x < wax) - c->x = wax; - if(c->y < way) - c->y = way; if(c->x + c->w + 2 * c->border > wax + waw) c->x = wax + waw - c->w - 2 * c->border; if(c->y + c->h + 2 * c->border > way + wah) c->y = way + wah - c->h - 2 * c->border; + if(c->x < wax) + c->x = wax; + if(c->y < way) + c->y = way; } updatesizehints(c); c->proto = getproto(c->win); @@ -155,6 +157,7 @@ manage(Window w, XWindowAttributes *wa) { StructureNotifyMask | PropertyChangeMask | EnterWindowMask); XGetTransientForHint(dpy, c->win, &trans); grabbuttons(c, False); + XSetWindowBorder(dpy, c->win, dc.norm[ColBorder]); updatetitle(c); settags(c, getclient(trans)); if(!c->isfloat) @@ -194,14 +197,14 @@ resize(Client *c, Bool sizehints) { else c->border = BORDERPX; /* offscreen appearance fixes */ - if(c->x + c->w + 2 * c->border < sx) - c->x = sx; - if(c->y + c->h + 2 * c->border < sy) - c->y = sy; if(c->x > sw) c->x = sw - c->w - 2 * c->border; if(c->y > sh) c->y = sh - c->h - 2 * c->border; + if(c->x + c->w + 2 * c->border < sx) + c->x = sx; + if(c->y + c->h + 2 * c->border < sy) + c->y = sy; wc.x = c->x; wc.y = c->y; wc.width = c->w;