less obtrusive indicator (only a top line)

master
arg@mig29 2006-12-01 15:03:42 +01:00
parent e655e8a7d5
commit 4ba3cfaee9
2 changed files with 5 additions and 18 deletions

21
draw.c
View File

@ -30,13 +30,12 @@ textnw(const char *text, unsigned int len) {
} }
static void static void
drawtext(const char *text, unsigned long col[ColLast], Bool dot, Bool border) { drawtext(const char *text, unsigned long col[ColLast], Bool dot, Bool line) {
int x, y, w, h; int x, y, w, h;
static char buf[256]; static char buf[256];
unsigned int len, olen; unsigned int len, olen;
XGCValues gcv; XGCValues gcv;
XRectangle r = { dc.x, dc.y, dc.w, dc.h }; XRectangle r = { dc.x, dc.y, dc.w, dc.h };
XPoint pt[5];
XSetForeground(dpy, dc.gc, col[ColBG]); XSetForeground(dpy, dc.gc, col[ColBG]);
XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1); XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
@ -75,25 +74,13 @@ drawtext(const char *text, unsigned long col[ColLast], Bool dot, Bool border) {
XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len); XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len);
} }
if(dot) { if(dot) {
r.x = dc.x + 2; r.x = dc.x + 1;
r.y = dc.y + 2; r.y = dc.y + 2;
r.width = r.height = (h + 2) / 4; r.width = r.height = (h + 2) / 4;
XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1); XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
} }
if(border) { if(line)
pt[0].x = dc.x + 1; XDrawLine(dpy, dc.drawable, dc.gc, dc.x + 1, dc.y + 1, dc.x + dc.w - 1, dc.y + 1); }
pt[0].y = dc.y + 1;
pt[1].x = dc.w - 2;
pt[1].y = 0;
pt[2].x = 0;
pt[2].y = dc.h - 2;
pt[3].x = -(dc.w - 2);
pt[3].y = 0;
pt[4].x = 0;
pt[4].y = -(dc.h - 2);
XDrawLines(dpy, dc.drawable, dc.gc, pt, 5, CoordModePrevious);
}
}
/* extern */ /* extern */

2
dwm.1
View File

@ -22,7 +22,7 @@ dwm contains a small status bar which displays all available tags, the mode,
the title of the focused window, and the text read from standard input. The the title of the focused window, and the text read from standard input. The
selected tags are indicated with a different color. The tags of the focused selected tags are indicated with a different color. The tags of the focused
window are indicated with a small point in the top left corner. The tags which window are indicated with a small point in the top left corner. The tags which
are applied to one or more clients are indicated with a border. are applied to one or more clients are indicated with a top line.
.P .P
dwm draws a 1-pixel border around windows to indicate the focus state. dwm draws a 1-pixel border around windows to indicate the focus state.
Unfocused windows contain a small bar in front of them displaying their title. Unfocused windows contain a small bar in front of them displaying their title.