diff options
| -rw-r--r-- | config.mk | 2 | ||||
| -rw-r--r-- | draw.c | 38 | 
2 files changed, 17 insertions, 23 deletions
| @@ -1,5 +1,5 @@  # dmenu version -VERSION = 0.3 +VERSION = 0.4  # Customize below to fit your system @@ -9,26 +9,6 @@  /* static */ -static void -drawborder(void) -{ -	XPoint points[5]; - -	XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter); -	XSetForeground(dpy, dc.gc, dc.border); -	points[0].x = dc.x; -	points[0].y = dc.y; -	points[1].x = dc.w - 1; -	points[1].y = 0; -	points[2].x = 0; -	points[2].y = dc.h - 1; -	points[3].x = -(dc.w - 1); -	points[3].y = 0; -	points[4].x = 0; -	points[4].y = -(dc.h - 1); -	XDrawLines(dpy, dc.drawable, dc.gc, points, 5, CoordModePrevious); -} -  static unsigned int  textnw(const char *text, unsigned int len)  { @@ -50,14 +30,28 @@ drawtext(const char *text, Bool invert, Bool border)  	static char buf[256];  	unsigned int len;  	XGCValues gcv; +	XPoint points[5];  	XRectangle r = { dc.x, dc.y, dc.w, dc.h };  	XSetForeground(dpy, dc.gc, invert ? dc.fg : dc.bg);  	XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);  	w = 0; -	if(border) -		drawborder(); +	if(border) { +		XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter); +		XSetForeground(dpy, dc.gc, dc.border); +		points[0].x = dc.x; +		points[0].y = dc.y; +		points[1].x = dc.w - 1; +		points[1].y = 0; +		points[2].x = 0; +		points[2].y = dc.h - 1; +		points[3].x = -(dc.w - 1); +		points[3].y = 0; +		points[4].x = 0; +		points[4].y = -(dc.h - 1); +		XDrawLines(dpy, dc.drawable, dc.gc, points, 5, CoordModePrevious); +	}  	if(!text)  		return; | 
