| 
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -28,7 +28,7 @@ typedef struct { | 
															
														
														
													
														
															
																 | 
																 | 
																TAGS | 
																 | 
																 | 
																TAGS | 
															
														
														
													
														
															
																 | 
																 | 
																RULES | 
																 | 
																 | 
																RULES | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																static char prop[512]; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																static char buf[512]; | 
															
														
														
													
														
															
																 | 
																 | 
																static unsigned int nrules = 0; | 
																 | 
																 | 
																static unsigned int nrules = 0; | 
															
														
														
													
														
															
																 | 
																 | 
																static unsigned int nlayouts = 0; | 
																 | 
																 | 
																static unsigned int nlayouts = 0; | 
															
														
														
													
														
															
																 | 
																 | 
																static unsigned int ltidx = 0; /* default */ | 
																 | 
																 | 
																static unsigned int ltidx = 0; /* default */ | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -57,13 +57,13 @@ static void | 
															
														
														
													
														
															
																 | 
																 | 
																setdwmprops(void) { | 
																 | 
																 | 
																setdwmprops(void) { | 
															
														
														
													
														
															
																 | 
																 | 
																	unsigned int i; | 
																 | 
																 | 
																	unsigned int i; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																	for(i = 0; i < ntags && i < sizeof prop - 1; i++) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																		prop[i] = seltags[i] ? '1' : '0'; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	if(i < sizeof prop - 1) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																		prop[i++] = (char)ltidx + '0'; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	prop[i] = '\0'; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	for(i = 0; i < ntags && i < sizeof buf - 1; i++) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		buf[i] = seltags[i] ? '1' : '0'; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	if(i < sizeof buf - 1) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		buf[i++] = (char)ltidx + '0'; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	buf[i] = '\0'; | 
															
														
														
													
														
															
																 | 
																 | 
																	XChangeProperty(dpy, root, dwmprops, XA_STRING, 8, | 
																 | 
																 | 
																	XChangeProperty(dpy, root, dwmprops, XA_STRING, 8, | 
															
														
														
													
														
															
																 | 
																 | 
																			PropModeReplace, (unsigned char *)prop, i); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			PropModeReplace, (unsigned char *)buf, i); | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																LAYOUTS | 
																 | 
																 | 
																LAYOUTS | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -81,11 +81,11 @@ applyrules(Client *c) { | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																	/* rule matching */ | 
																 | 
																 | 
																	/* rule matching */ | 
															
														
														
													
														
															
																 | 
																 | 
																	XGetClassHint(dpy, c->win, &ch); | 
																 | 
																 | 
																	XGetClassHint(dpy, c->win, &ch); | 
															
														
														
													
														
															
																 | 
																 | 
																	snprintf(prop, sizeof prop, "%s:%s:%s", | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	snprintf(buf, sizeof buf, "%s:%s:%s", | 
															
														
														
													
														
															
																 | 
																 | 
																			ch.res_class ? ch.res_class : "", | 
																 | 
																 | 
																			ch.res_class ? ch.res_class : "", | 
															
														
														
													
														
															
																 | 
																 | 
																			ch.res_name ? ch.res_name : "", c->name); | 
																 | 
																 | 
																			ch.res_name ? ch.res_name : "", c->name); | 
															
														
														
													
														
															
																 | 
																 | 
																	for(i = 0; i < nrules; i++) | 
																 | 
																 | 
																	for(i = 0; i < nrules; i++) | 
															
														
														
													
														
															
																 | 
																 | 
																		if(regs[i].propregex && !regexec(regs[i].propregex, prop, 1, &tmp, 0)) { | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		if(regs[i].propregex && !regexec(regs[i].propregex, buf, 1, &tmp, 0)) { | 
															
														
														
													
														
															
																 | 
																 | 
																			c->isfloating = rules[i].isfloating; | 
																 | 
																 | 
																			c->isfloating = rules[i].isfloating; | 
															
														
														
													
														
															
																 | 
																 | 
																			for(j = 0; regs[i].tagregex && j < ntags; j++) { | 
																 | 
																 | 
																			for(j = 0; regs[i].tagregex && j < ntags; j++) { | 
															
														
														
													
														
															
																 | 
																 | 
																				if(!regexec(regs[i].tagregex, tags[j], 1, &tmp, 0)) { | 
																 | 
																 | 
																				if(!regexec(regs[i].tagregex, tags[j], 1, &tmp, 0)) { | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -219,12 +219,12 @@ void | 
															
														
														
													
														
															
																 | 
																 | 
																getdwmprops(void) { | 
																 | 
																 | 
																getdwmprops(void) { | 
															
														
														
													
														
															
																 | 
																 | 
																	unsigned int i; | 
																 | 
																 | 
																	unsigned int i; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																	if(gettextprop(root, dwmprops, prop, sizeof prop)) { | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																		for(i = 0; i < ntags && i < sizeof prop - 1 && prop[i] != '\0'; i++) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																			seltags[i] = prop[i] == '1'; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																		if(i < sizeof prop - 1 && prop[i] != '\0') { | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																			if((unsigned int)(prop[i] - '0') < nlayouts) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																				ltidx = prop[i] - '0'; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	if(gettextprop(root, dwmprops, buf, sizeof buf)) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		for(i = 0; i < ntags && i < sizeof buf - 1 && buf[i] != '\0'; i++) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			seltags[i] = buf[i] == '1'; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		if(i < sizeof buf - 1 && buf[i] != '\0') { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			if((unsigned int)(buf[i] - '0') < nlayouts) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																				ltidx = buf[i] - '0'; | 
															
														
														
													
														
															
																 | 
																 | 
																		} | 
																 | 
																 | 
																		} | 
															
														
														
													
														
															
																 | 
																 | 
																	} | 
																 | 
																 | 
																	} | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																	
																 | 
																
  |