X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=dwm.c;h=fce0a2555e06ed5071a0d54a12cff2c8b3eed4ad;hb=d8d733c34fe89c8bc2bd3a78cac848af7565167f;hp=e3b88331867227ab4abd33b2273215d3543dd1c4;hpb=15ce1436203c1400452a3bd789ac9e1775f19341;p=dwm.git diff --git a/dwm.c b/dwm.c index e3b8833..fce0a25 100644 --- a/dwm.c +++ b/dwm.c @@ -202,8 +202,10 @@ static void zoom(const Arg *arg); /* variables */ static char stext[256]; -static int screen, sx, sy, sw, sh; -static int by, bh, blw, wx, wy, ww, wh; +static int screen; +static int sx, sy, sw, sh; /* display geometry x, y, width, height */ +static int by, bh, blw; /* bar geometry y, height and layout symbol width */ +static int wx, wy, ww, wh; /* window area geometry x, y, width, height, bar excluded */ static unsigned int seltags = 0, sellt = 0; static int (*xerrorxlib)(Display *, XErrorEvent *); static unsigned int numlockmask = 0; @@ -865,8 +867,7 @@ killclient(const Arg *arg) { void manage(Window w, XWindowAttributes *wa) { Client *c, *t = NULL; - Status rettrans; - Window trans; + Window trans = 0; XWindowChanges wc; if(!(c = calloc(1, sizeof(Client)))) @@ -903,14 +904,14 @@ manage(Window w, XWindowAttributes *wa) { XSelectInput(dpy, w, EnterWindowMask|FocusChangeMask|PropertyChangeMask|StructureNotifyMask); grabbuttons(c, False); updatetitle(c); - if((rettrans = XGetTransientForHint(dpy, w, &trans) == Success)) - for(t = clients; t && t->win != trans; t = t->next); + if(XGetTransientForHint(dpy, w, &trans)) + t = getclient(trans); if(t) c->tags = t->tags; else applyrules(c); if(!c->isfloating) - c->isfloating = (rettrans == Success) || c->isfixed; + c->isfloating = trans || c->isfixed; if(c->isfloating) XRaiseWindow(dpy, c->win); attach(c);