X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=client.c;h=486efe9bb36883700086ef4f82f41c82c1ad75b9;hb=e256afe31ef6a70eceb632ddfe717bfe6d8d9169;hp=e37b9e6d65b5e7a36ccf58eecdd240df6357a349;hpb=28ffff801bb0137ec3fe4093afc4fb29784b17ec;p=dwm.git diff --git a/client.c b/client.c index e37b9e6..486efe9 100644 --- a/client.c +++ b/client.c @@ -69,19 +69,20 @@ xerrordummy(Display *dsply, XErrorEvent *ee) { void configure(Client *c) { - XEvent synev; + XConfigureEvent ce; - synev.type = ConfigureNotify; - synev.xconfigure.display = dpy; - synev.xconfigure.event = c->win; - synev.xconfigure.window = c->win; - synev.xconfigure.x = c->x; - synev.xconfigure.y = c->y; - synev.xconfigure.width = c->w; - synev.xconfigure.height = c->h; - synev.xconfigure.border_width = c->border; - synev.xconfigure.above = None; - XSendEvent(dpy, c->win, True, NoEventMask, &synev); + ce.type = ConfigureNotify; + ce.display = dpy; + ce.event = c->win; + ce.window = c->win; + ce.x = c->x; + ce.y = c->y; + ce.width = c->w; + ce.height = c->h; + ce.border_width = c->border; + ce.above = None; + ce.override_redirect = False; + XSendEvent(dpy, c->win, False, StructureNotifyMask, (XEvent *)&ce); } void @@ -147,7 +148,7 @@ killclient(Arg *arg) { void manage(Window w, XWindowAttributes *wa) { - Client *c; + Client *c, *t; Window trans; c = emallocz(sizeof(Client)); @@ -180,9 +181,10 @@ manage(Window w, XWindowAttributes *wa) { grabbuttons(c, False); XSetWindowBorder(dpy, c->win, dc.norm[ColBorder]); updatetitle(c); - settags(c, getclient(trans)); + t = getclient(trans); + settags(c, t); if(!c->isfloat) - c->isfloat = trans || c->isfixed; + c->isfloat = (t != 0) || c->isfixed; if(clients) clients->prev = c; c->next = clients; @@ -302,8 +304,8 @@ updatesizehints(Client *c) { } else c->minax = c->minay = c->maxax = c->maxay = 0; - c->isfixed = (c->maxw && c->minw && c->maxh && c->minh && - c->maxw == c->minw && c->maxh == c->minh); + c->isfixed = (c->maxw && c->minw && c->maxh && c->minh + && c->maxw == c->minw && c->maxh == c->minh); } void @@ -323,7 +325,7 @@ updatetitle(Client *c) { strncpy(c->name, (char *)name.value, sizeof c->name); else { if(XmbTextPropertyToTextList(dpy, &name, &list, &n) >= Success - && n > 0 && *list) + && n > 0 && *list) { strncpy(c->name, *list, sizeof c->name); XFreeStringList(list);