Client: Add _WMFS_ISFREE attributes to re-set the c->free attributes when reloading.
This commit is contained in:
parent
1e1d14736f
commit
92156f050d
@ -703,6 +703,9 @@ client_update_attributes(Client *c)
|
||||
XChangeProperty(dpy, c->win, ATOM("_WMFS_SCREEN"), XA_CARDINAL, 32,
|
||||
PropModeReplace, (uchar*)&(c->screen), 1);
|
||||
|
||||
XChangeProperty(dpy, c->win, ATOM("_WMFS_ISFREE"), XA_CARDINAL, 32,
|
||||
PropModeReplace, (uchar*)&(c->free), 1);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@ -678,6 +678,7 @@ uicb_togglefree(uicb_t cmd)
|
||||
else
|
||||
sel->ogeo = sel->geo;
|
||||
|
||||
client_update_attributes(sel);
|
||||
|
||||
tags[selscreen][seltag[selscreen]].layout.func(selscreen);
|
||||
|
||||
|
||||
11
src/wmfs.c
11
src/wmfs.c
@ -193,7 +193,7 @@ scan(void)
|
||||
XWindowAttributes wa;
|
||||
Window usl, usl2, *w = NULL;
|
||||
Atom rt;
|
||||
int rf, tag = -1, screen = -1;
|
||||
int rf, tag = -1, screen = -1, free = -1;
|
||||
ulong ir, il;
|
||||
uchar *ret;
|
||||
Client *c;
|
||||
@ -218,12 +218,21 @@ scan(void)
|
||||
XFree(ret);
|
||||
}
|
||||
|
||||
if(XGetWindowProperty(dpy, w[i], ATOM("_WMFS_ISFREE"), 0, 32,
|
||||
False, XA_CARDINAL, &rt, &rf, &ir, &il, &ret) == Success && ret)
|
||||
{
|
||||
free = *ret;
|
||||
XFree(ret);
|
||||
}
|
||||
|
||||
c = client_manage(w[i], &wa, False);
|
||||
|
||||
if(tag != -1)
|
||||
c->tag = tag;
|
||||
if(screen != -1 && screen <= screen_count() - 1)
|
||||
c->screen = screen;
|
||||
if(free != -1)
|
||||
c->free = free;
|
||||
|
||||
client_update_attributes(c);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user