dwm.c
changeset 1292 0996dbb6a999
parent 1291 6a5c4371eb25
child 1293 25a4affb52c5
equal deleted inserted replaced
1291:6a5c4371eb25 1292:0996dbb6a999
   479 }
   479 }
   480 
   480 
   481 void
   481 void
   482 drawbar(void) {
   482 drawbar(void) {
   483 	int i, x;
   483 	int i, x;
   484 	Client *c;
       
   485 
   484 
   486 	dc.x = 0;
   485 	dc.x = 0;
   487 	for(c = stack; c && c->isbanned; c = c->snext);
       
   488 	for(i = 0; i < LENGTH(tags); i++) {
   486 	for(i = 0; i < LENGTH(tags); i++) {
   489 		dc.w = TEXTW(tags[i]);
   487 		dc.w = TEXTW(tags[i]);
   490 		if(tagset[seltags] & 1 << i) {
   488 		if(tagset[seltags] & 1 << i) {
   491 			drawtext(tags[i], dc.sel, isurgent(i));
   489 			drawtext(tags[i], dc.sel, isurgent(i));
   492 			drawsquare(c && c->tags & 1 << i, isoccupied(i), isurgent(i), dc.sel);
   490 			drawsquare(sel && sel->tags & 1 << i, isoccupied(i), isurgent(i), dc.sel);
   493 		}
   491 		}
   494 		else {
   492 		else {
   495 			drawtext(tags[i], dc.norm, isurgent(i));
   493 			drawtext(tags[i], dc.norm, isurgent(i));
   496 			drawsquare(c && c->tags & 1 << i, isoccupied(i), isurgent(i), dc.norm);
   494 			drawsquare(sel && sel->tags & 1 << i, isoccupied(i), isurgent(i), dc.norm);
   497 		}
   495 		}
   498 		dc.x += dc.w;
   496 		dc.x += dc.w;
   499 	}
   497 	}
   500 	if(blw > 0) {
   498 	if(blw > 0) {
   501 		dc.w = blw;
   499 		dc.w = blw;
   511 		dc.w = ww - x;
   509 		dc.w = ww - x;
   512 	}
   510 	}
   513 	drawtext(stext, dc.norm, False);
   511 	drawtext(stext, dc.norm, False);
   514 	if((dc.w = dc.x - x) > bh) {
   512 	if((dc.w = dc.x - x) > bh) {
   515 		dc.x = x;
   513 		dc.x = x;
   516 		if(c) {
   514 		if(sel) {
   517 			drawtext(c->name, dc.sel, False);
   515 			drawtext(sel->name, dc.sel, False);
   518 			drawsquare(c->isfixed, c->isfloating, False, dc.sel);
   516 			drawsquare(sel->isfixed, sel->isfloating, False, dc.sel);
   519 		}
   517 		}
   520 		else
   518 		else
   521 			drawtext(NULL, dc.norm, False);
   519 			drawtext(NULL, dc.norm, False);
   522 	}
   520 	}
   523 	XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, ww, bh, 0, 0);
   521 	XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, ww, bh, 0, 0);