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
void
manage(Window w, XWindowAttributes *wa) {
- Client *c;
+ Client *c, *t;
Window trans;
c = emallocz(sizeof(Client));
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;