equal
deleted
inserted
replaced
146 XKillClient(dpy, sel->win); |
146 XKillClient(dpy, sel->win); |
147 } |
147 } |
148 |
148 |
149 void |
149 void |
150 manage(Window w, XWindowAttributes *wa) { |
150 manage(Window w, XWindowAttributes *wa) { |
151 Client *c; |
151 Client *c, *t; |
152 Window trans; |
152 Window trans; |
153 |
153 |
154 c = emallocz(sizeof(Client)); |
154 c = emallocz(sizeof(Client)); |
155 c->tags = emallocz(ntags * sizeof(Bool)); |
155 c->tags = emallocz(ntags * sizeof(Bool)); |
156 c->win = w; |
156 c->win = w; |
179 StructureNotifyMask | PropertyChangeMask | EnterWindowMask); |
179 StructureNotifyMask | PropertyChangeMask | EnterWindowMask); |
180 XGetTransientForHint(dpy, c->win, &trans); |
180 XGetTransientForHint(dpy, c->win, &trans); |
181 grabbuttons(c, False); |
181 grabbuttons(c, False); |
182 XSetWindowBorder(dpy, c->win, dc.norm[ColBorder]); |
182 XSetWindowBorder(dpy, c->win, dc.norm[ColBorder]); |
183 updatetitle(c); |
183 updatetitle(c); |
184 settags(c, getclient(trans)); |
184 t = getclient(trans); |
|
185 settags(c, t); |
185 if(!c->isfloat) |
186 if(!c->isfloat) |
186 c->isfloat = trans || c->isfixed; |
187 c->isfloat = (t != 0) || c->isfixed; |
187 if(clients) |
188 if(clients) |
188 clients->prev = c; |
189 clients->prev = c; |
189 c->next = clients; |
190 c->next = clients; |
190 c->snext = stack; |
191 c->snext = stack; |
191 stack = clients = c; |
192 stack = clients = c; |