diff options
Diffstat (limited to 'client.c')
-rw-r--r-- | client.c | 36 |
1 files changed, 4 insertions, 32 deletions
@@ -185,15 +185,8 @@ Bool loadprops(Client *c) { unsigned int i; Bool result = False; - XTextProperty name; - - /* check if window has set a property */ - name.nitems = 0; - XGetTextProperty(dpy, c->win, &name, dwmprops); - if(name.nitems && name.encoding == XA_STRING) { - strncpy(prop, (char *)name.value, sizeof prop - 1); - prop[sizeof prop - 1] = '\0'; - XFree(name.value); + + if(gettextprop(c->win, dwmprops, prop, sizeof prop)) { for(i = 0; i < ntags && i < sizeof prop - 1 && prop[i] != '\0'; i++) if((c->tags[i] = prop[i] == '1')) result = True; @@ -424,27 +417,6 @@ updatesizehints(Client *c) { void updatetitle(Client *c) { - char **list = NULL; - int n; - XTextProperty name; - - name.nitems = 0; - c->name[0] = 0; - XGetTextProperty(dpy, c->win, &name, netatom[NetWMName]); - if(!name.nitems) - XGetWMName(dpy, c->win, &name); - if(!name.nitems) - return; - if(name.encoding == XA_STRING) - strncpy(c->name, (char *)name.value, sizeof c->name - 1); - else { - if(XmbTextPropertyToTextList(dpy, &name, &list, &n) >= Success - && n > 0 && *list) - { - strncpy(c->name, *list, sizeof c->name - 1); - XFreeStringList(list); - } - } - c->name[sizeof c->name - 1] = '\0'; - XFree(name.value); + if(!gettextprop(c->win, netatom[NetWMName], c->name, sizeof c->name)) + gettextprop(c->win, wmatom[WMName], c->name, sizeof c->name); } |