25 lines
		
	
	
		
			592 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			592 B
		
	
	
	
		
			C
		
	
	
	
	
	
void
 | 
						|
checkfloatingrules(Client *c)
 | 
						|
{
 | 
						|
	const char *class, *instance;
 | 
						|
	unsigned int i;
 | 
						|
	const Rule *r;
 | 
						|
	XClassHint ch = { NULL, NULL };
 | 
						|
 | 
						|
	XGetClassHint(dpy, c->win, &ch);
 | 
						|
	class    = ch.res_class ? ch.res_class : broken;
 | 
						|
	instance = ch.res_name  ? ch.res_name  : broken;
 | 
						|
 | 
						|
	for (i = 0; i < LENGTH(rules); i++) {
 | 
						|
		r = &rules[i];
 | 
						|
		if ((!r->title || strstr(c->name, r->title))
 | 
						|
		&& (!r->class || strstr(class, r->class))
 | 
						|
		&& (!r->instance || strstr(instance, r->instance)))
 | 
						|
			c->isfloating = r->isfloating;
 | 
						|
	}
 | 
						|
	if (ch.res_class)
 | 
						|
		XFree(ch.res_class);
 | 
						|
	if (ch.res_name)
 | 
						|
		XFree(ch.res_name);
 | 
						|
}
 |