dwm.c
changeset 1328 0fac6d3067d7
parent 1327 920833e10274
child 1329 43c19f9f8e6f
equal deleted inserted replaced
1327:920833e10274 1328:0fac6d3067d7
   575 	XSetForeground(dpy, dc.gc, col[invert ? ColFG : ColBG]);
   575 	XSetForeground(dpy, dc.gc, col[invert ? ColFG : ColBG]);
   576 	XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
   576 	XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
   577 	if(!text)
   577 	if(!text)
   578 		return;
   578 		return;
   579 	olen = strlen(text);
   579 	olen = strlen(text);
   580 	len = MIN(olen, sizeof buf);
       
   581 	memcpy(buf, text, len);
       
   582 	h = dc.font.ascent + dc.font.descent;
   580 	h = dc.font.ascent + dc.font.descent;
   583 	y = dc.y + (dc.h / 2) - (h / 2) + dc.font.ascent;
   581 	y = dc.y + (dc.h / 2) - (h / 2) + dc.font.ascent;
   584 	x = dc.x + (h / 2);
   582 	x = dc.x + (h / 2);
   585 	/* shorten text if necessary */
   583 	/* shorten text if necessary */
   586 	for(; len && (i = textnw(buf, len)) > dc.w - h; len--);
   584 	for(len = MIN(olen, sizeof buf); len && (i = textnw(buf, len)) > dc.w - h; len--);
   587 	if(!len)
   585 	if(!len)
   588 		return;
   586 		return;
       
   587 	memcpy(buf, text, len);
   589 	if(len < olen)
   588 	if(len < olen)
   590 		for(i = len; i && i > len - 3; buf[--i] = '.');
   589 		for(i = len; i && i > len - 3; buf[--i] = '.');
   591 	XSetForeground(dpy, dc.gc, col[invert ? ColBG : ColFG]);
   590 	XSetForeground(dpy, dc.gc, col[invert ? ColBG : ColFG]);
   592 	if(dc.font.set)
   591 	if(dc.font.set)
   593 		XmbDrawString(dpy, dc.drawable, dc.font.set, dc.gc, x, y, buf, len);
   592 		XmbDrawString(dpy, dc.drawable, dc.font.set, dc.gc, x, y, buf, len);