fix of XGetTransientForHint in manage()
This commit is contained in:
parent
0ffa6d1393
commit
06f7eed103
5
dwm.c
5
dwm.c
@ -865,7 +865,6 @@ killclient(const Arg *arg) {
|
|||||||
void
|
void
|
||||||
manage(Window w, XWindowAttributes *wa) {
|
manage(Window w, XWindowAttributes *wa) {
|
||||||
Client *c, *t = NULL;
|
Client *c, *t = NULL;
|
||||||
Status rettrans;
|
|
||||||
Window trans;
|
Window trans;
|
||||||
XWindowChanges wc;
|
XWindowChanges wc;
|
||||||
|
|
||||||
@ -903,14 +902,14 @@ manage(Window w, XWindowAttributes *wa) {
|
|||||||
XSelectInput(dpy, w, EnterWindowMask|FocusChangeMask|PropertyChangeMask|StructureNotifyMask);
|
XSelectInput(dpy, w, EnterWindowMask|FocusChangeMask|PropertyChangeMask|StructureNotifyMask);
|
||||||
grabbuttons(c, False);
|
grabbuttons(c, False);
|
||||||
updatetitle(c);
|
updatetitle(c);
|
||||||
if((rettrans = XGetTransientForHint(dpy, w, &trans)) == Success)
|
if(XGetTransientForHint(dpy, w, &trans))
|
||||||
t = getclient(trans);
|
t = getclient(trans);
|
||||||
if(t)
|
if(t)
|
||||||
c->tags = t->tags;
|
c->tags = t->tags;
|
||||||
else
|
else
|
||||||
applyrules(c);
|
applyrules(c);
|
||||||
if(!c->isfloating)
|
if(!c->isfloating)
|
||||||
c->isfloating = (rettrans == Success) || c->isfixed;
|
c->isfloating = trans || c->isfixed;
|
||||||
if(c->isfloating)
|
if(c->isfloating)
|
||||||
XRaiseWindow(dpy, c->win);
|
XRaiseWindow(dpy, c->win);
|
||||||
attach(c);
|
attach(c);
|
||||||
|
Loading…
Reference in New Issue
Block a user