| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -52,6 +52,7 @@ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#define MAXTAGLEN       16 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#define MOUSEMASK       (BUTTONMASK|PointerMotionMask) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#define TAGMASK         ((int)((1LL << LENGTH(tags)) - 1)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#define TEXTW(x)        (textnw(x, strlen(x)) + dc.font.height) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#define VISIBLE(x)      ((x)->tags & tagset[seltags]) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* enums */ | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -169,7 +170,6 @@ void setup(void); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					void spawn(const void *arg); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					void tag(const void *arg); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					uint textnw(const char *text, uint len); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					uint textw(const char *text); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					void tile(void); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					void tileresize(Client *c, int x, int y, int w, int h); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					void togglebar(const void *arg); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -305,7 +305,7 @@ buttonpress(XEvent *e) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(ev->window == barwin) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							x = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							for(i = 0; i < LENGTH(tags); i++) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								x += textw(tags[i]); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								x += TEXTW(tags[i]); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								if(ev->x < x) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									mask = 1 << i; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									if(ev->button == Button1) { | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -491,7 +491,7 @@ drawbar(void) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						dc.x = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						for(c = stack; c && !VISIBLE(c); c = c->snext); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						for(i = 0; i < LENGTH(tags); i++) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							dc.w = textw(tags[i]); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							dc.w = TEXTW(tags[i]); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(tagset[seltags] & 1 << i) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								drawtext(tags[i], dc.sel, isurgent(i)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								drawsquare(c && c->tags & 1 << i, isoccupied(i), isurgent(i), dc.sel); | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -509,7 +509,7 @@ drawbar(void) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						else | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							x = dc.x; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						dc.w = textw(stext); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						dc.w = TEXTW(stext); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						dc.x = bw - dc.w; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(dc.x < x) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							dc.x = x; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -1365,7 +1365,7 @@ setup(void) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						/* init bar */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						for(blw = i = 0; LENGTH(layouts) > 1 && i < LENGTH(layouts); i++) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							w = textw(layouts[i].symbol); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							w = TEXTW(layouts[i].symbol); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							blw = MAX(blw, w); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -1437,11 +1437,6 @@ textnw(const char *text, uint len) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return XTextWidth(dc.font.xfont, text, len); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					uint | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					textw(const char *text) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return textnw(text, strlen(text)) + dc.font.height; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					void | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					tile(void) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						int x, y, h, w; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |