tmake also transients floating when we do not know the main window - dwm - [for… | |
git clone git://src.adamsgaard.dk/dwm | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 540d5eed469d19d2161ff157ec161e70384a80e9 | |
parent 7d071ce2bd12916cf0784cc2d666b2e66931c174 | |
Author: Anselm R. Garbe <[email protected]> | |
Date: Wed, 11 Apr 2007 15:17:29 +0200 | |
make also transients floating when we do not know the main window | |
Diffstat: | |
M client.c | 9 +++++---- | |
1 file changed, 5 insertions(+), 4 deletions(-) | |
--- | |
diff --git a/client.c b/client.c | |
t@@ -173,8 +173,9 @@ killclient(const char *arg) { | |
void | |
manage(Window w, XWindowAttributes *wa) { | |
- Client *c, *t; | |
+ Client *c, *t = NULL; | |
Window trans; | |
+ Status rettrans; | |
XWindowChanges wc; | |
c = emallocz(sizeof(Client)); | |
t@@ -203,17 +204,17 @@ manage(Window w, XWindowAttributes *wa) { | |
updatesizehints(c); | |
XSelectInput(dpy, w, | |
StructureNotifyMask | PropertyChangeMask | EnterWindowMask); | |
- XGetTransientForHint(dpy, w, &trans); | |
grabbuttons(c, False); | |
wc.border_width = c->border; | |
XConfigureWindow(dpy, w, CWBorderWidth, &wc); | |
XSetWindowBorder(dpy, w, dc.norm[ColBorder]); | |
configure(c); /* propagates border_width, if size doesn't change */ | |
updatetitle(c); | |
- for(t = clients; t && t->win != trans; t = t->next); | |
+ if((rettrans = XGetTransientForHint(dpy, w, &trans) == Success)) | |
+ for(t = clients; t && t->win != trans; t = t->next); | |
settags(c, t); | |
if(!c->isfloating) | |
- c->isfloating = (t != NULL) || c->isfixed; | |
+ c->isfloating = (rettrans == Success) || c->isfixed; | |
attach(c); | |
attachstack(c); | |
c->isbanned = True; |