|  | @@ -125,9 +125,21 @@ drawstatus()
 | 
	
		
			
				|  |  |  	dc.w = textw(stext);
 | 
	
		
			
				|  |  |  	dc.x = bx + bw - dc.w;
 | 
	
		
			
				|  |  |  	drawtext(stext, !istile);
 | 
	
		
			
				|  |  | -	if(sel && ((dc.w = dc.x - x) >= bh)) {
 | 
	
		
			
				|  |  | -		dc.x = x;
 | 
	
		
			
				|  |  | -		drawtext(sel->name, istile);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	if(sel) {
 | 
	
		
			
				|  |  | +		for(i = 0; i < ntags; i++)
 | 
	
		
			
				|  |  | +			if(sel->tags[i]) {
 | 
	
		
			
				|  |  | +				dc.w = textw(tags[i]);
 | 
	
		
			
				|  |  | +				dc.x -= dc.w;
 | 
	
		
			
				|  |  | +				if(dc.x < x)
 | 
	
		
			
				|  |  | +					break;
 | 
	
		
			
				|  |  | +				drawtext(tags[i], istile);
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		if(dc.x > x && (dc.x - x) > bh) {
 | 
	
		
			
				|  |  | +			dc.w = dc.x - x;
 | 
	
		
			
				|  |  | +			dc.x = x;
 | 
	
		
			
				|  |  | +			drawtext(sel->name, istile);
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  	XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, bw, bh, 0, 0);
 | 
	
		
			
				|  |  |  	XSync(dpy, False);
 | 
	
	
		
			
				|  | @@ -149,17 +161,16 @@ drawtitle(Client *c)
 | 
	
		
			
				|  |  |  	XSetWindowBorder(dpy, c->win, dc.bg);
 | 
	
		
			
				|  |  |  	XMapWindow(dpy, c->title);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	dc.x = dc.y = 0;
 | 
	
		
			
				|  |  | -	dc.w = 0;
 | 
	
		
			
				|  |  | -	for(i = 0; i < ntags; i++) {
 | 
	
		
			
				|  |  | +	dc.y = dc.w = 0;
 | 
	
		
			
				|  |  | +	dc.x = c->tw;
 | 
	
		
			
				|  |  | +	for(i = 0; i < ntags; i++)
 | 
	
		
			
				|  |  |  		if(c->tags[i]) {
 | 
	
		
			
				|  |  | -			dc.x += dc.w;
 | 
	
		
			
				|  |  |  			dc.w = textw(tags[i]);
 | 
	
		
			
				|  |  | +			dc.x -= dc.w;
 | 
	
		
			
				|  |  |  			drawtext(tags[i], !istile);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | -	dc.x += dc.w;
 | 
	
		
			
				|  |  | -	dc.w = c->tw - dc.x;
 | 
	
		
			
				|  |  | +	dc.w = dc.x;
 | 
	
		
			
				|  |  | +	dc.x = 0;
 | 
	
		
			
				|  |  |  	drawtext(c->name, !istile);
 | 
	
		
			
				|  |  |  	XCopyArea(dpy, dc.drawable, c->title, dc.gc, 0, 0, c->tw, c->th, 0, 0);
 | 
	
		
			
				|  |  |  	XSync(dpy, False);
 |