client.c
changeset 966 3ad7903c9e83
parent 964 777a9d9ce70b
child 967 66f17bf2c278
--- a/client.c	Sun Aug 19 10:13:24 2007 +0200
+++ b/client.c	Sun Aug 19 10:40:07 2007 +0200
@@ -185,15 +185,8 @@
 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 @@
 
 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);
 }