| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -289,31 +289,31 @@ applyrules(Client *c) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						unsigned int i; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						const Rule *r; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						Monitor *m; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						XClassHint ch = { 0 }; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						XClassHint ch = { NULL, NULL }; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						/* rule matching */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						c->isfloating = c->tags = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(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; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									c->tags |= r->tags; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									for(m = mons; m && m->num != r->monitor; m = m->next); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									if(m) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										c->mon = m; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						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; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								c->tags |= r->tags; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								for(m = mons; m && m->num != r->monitor; m = m->next); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								if(m) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									c->mon = m; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(ch.res_class) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								XFree(ch.res_class); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(ch.res_name) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								XFree(ch.res_name); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(ch.res_class) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							XFree(ch.res_class); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(ch.res_name) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							XFree(ch.res_name); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						c->tags = c->tags & TAGMASK ? c->tags & TAGMASK : c->mon->tagset[c->mon->seltags]; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |