URI: 
       and the winner is - dwm - dynamic window manager
  HTML git clone https://git.parazyd.org/dwm
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit c73d5cb7b67d60abc92ff83aff57fc610dcd08e1
   DIR parent 6458803d213aa0d083f4c350e5fc813a9a095045
  HTML Author: arg@mig29 <unknown>
       Date:   Fri,  1 Dec 2006 17:45:27 +0100
       
       and the winner is
       Diffstat:
         M draw.c                              |      29 +++++++++++++++++------------
         M dwm.1                               |       5 +++--
       
       2 files changed, 20 insertions(+), 14 deletions(-)
       ---
   DIR diff --git a/draw.c b/draw.c
       @@ -30,13 +30,13 @@ textnw(const char *text, unsigned int len) {
        }
        
        static void
       -drawtext(const char *text, unsigned long col[ColLast], Bool dot, Bool corner) {
       +drawtext(const char *text, unsigned long col[ColLast], Bool filleddot, Bool emptydot) {
                int x, y, w, h;
                static char buf[256];
                unsigned int len, olen;
                XGCValues gcv;
                XRectangle r = { dc.x, dc.y, dc.w, dc.h };
       -        XPoint pt[3];
       +        XPoint pt[5];
        
                XSetForeground(dpy, dc.gc, col[ColBG]);
                XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
       @@ -74,20 +74,25 @@ drawtext(const char *text, unsigned long col[ColLast], Bool dot, Bool corner) {
                        XChangeGC(dpy, dc.gc, GCForeground | GCFont, &gcv);
                        XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len);
                }
       -        if(dot) {
       +        x = (h + 2) / 4;
       +        if(filleddot) {
                        r.x = dc.x + 2;
                        r.y = dc.y + 2;
       -                r.width = r.height = (h + 2) / 4;
       +                r.width = r.height = x;
                        XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
                }
       -        if(corner) {
       -                pt[0].x = dc.x + 1;
       -                pt[0].y = dc.y + dc.h / 2 + 1;
       -                pt[1].x = 0;
       -                pt[1].y = - dc.h / 2;
       -                pt[2].x = dc.h / 2;
       -                pt[2].y = 0;
       -                XDrawLines(dpy, dc.drawable, dc.gc, pt, 3, CoordModePrevious);
       +        if(emptydot) {
       +                pt[0].x = dc.x + 2;
       +                pt[0].y = dc.y + 2;
       +                pt[1].x = x;
       +                pt[1].y = 0;
       +                pt[2].x = 0;
       +                pt[2].y = x;
       +                pt[3].x = -x;
       +                pt[3].y = 0;
       +                pt[4].x = 0;
       +                pt[4].y = -x;
       +                XDrawLines(dpy, dc.drawable, dc.gc, pt, 5, CoordModePrevious);
                }
        }
        
   DIR diff --git a/dwm.1 b/dwm.1
       @@ -21,8 +21,9 @@ tags. Selecting certain tags displays all windows with these tags.
        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
        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
       -are applied to one or more clients are indicated with a top line.
       +window are indicated with a filled square in the top left corner.  The tags
       +which are applied to one or more clients are indicated with an empty square in
       +the top left corner.
        .P
        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.