|  | @@ -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);
 | 
	
		
			
				|  |  |  }
 |