t* dwm + patches
       
   URI git clone git://git.codevoid.de/dwm-sdk
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit ec45f09b106c92fca977dee573daaa21ad96dd5f
   DIR parent 1dd05294044f86557a5e18102c8b469e1bce17a9
   URI Author: Stefan Hagen <sh+git[at]codevoid[dot]de>
       Date:   Thu, 15 Nov 2018 14:03:05 +0100
       
       Update theme colors
       
       Diffstat:
         M config.def.h                        |       2 ++
         M config.h                            |      52 +++++++++++++------------------
         M dwm.c                               |      20 +++++++++++++++++---
       
       3 files changed, 40 insertions(+), 34 deletions(-)
       ---
   DIR diff --git a/config.def.h b/config.def.h
       t@@ -8,6 +8,8 @@ static const char normfgcolor[]     = "#bbbbbb";
        static const char selbordercolor[]  = "#005577";
        static const char selbgcolor[]      = "#005577";
        static const char selfgcolor[]      = "#eeeeee";
       +static const char floatnormbordercolor[] = "#005577";
       +static const char floatselbordercolor[]  = "#005577";
        static const unsigned int borderpx  = 1;        /* border pixel of windows */
        static const unsigned int gappx     = 18;       /* gap pixel between windows */
        static const unsigned int snap      = 32;       /* snap pixel */
   DIR diff --git a/config.h b/config.h
       t@@ -1,32 +1,24 @@
        /* See LICENSE file for copyright and license details. */
        
        /* appearance */
       -//static const char font[]            = "-misc-tamzenforpowerline-medium-r-normal--20-145-100-100-c-100-iso8859-1";
       -static const char font[]            = "-*-terminus-medium-r-*-*-16-*-*-*-*-*-*-*";
       -//static const char font[]            = "-windows-proggysquare-medium-r-normal--11-80-96-96-c-70-iso8859-1";
       -static const char normbordercolor[] = "#333333";
       -static const char normbgcolor[]     = "#181818";
       -static const char normfgcolor[]     = "#999999";
       -static const char selbordercolor[]  = "#FF0000"; // window border color
       -static const char selbgcolor[]      = "#181818"; // top bar background
       -static const char selfgcolor[]      = "#eeeeee"; // top bar selected
       -static const unsigned int borderpx  = 1;        /* border pixel of windows */
       -static const unsigned int gappx     = 8;        /* gap pixel between windows */
       -static const unsigned int snap      = 8;       /* snap pixel */
       -static const Bool showbar           = True;     /* False means no bar */
       -static const Bool topbar            = True;     /* False means bottom bar */
       -static const Bool extrabar          = True;     /* False means no extra bar */
       -
       -static const char col_vdark[]  = "#111111";
       -static const char col_dark[]   = "#333333";
       -static const char col_norm[]   = "#999999";
       -static const char col_full[]   = "#eeeeee";
       -
       -static const char col_gray1[]  = "#222222";
       -static const char col_gray2[]  = "#444444";
       -static const char col_gray3[]  = "#bbbbbb";
       -static const char col_gray4[]  = "#eeeeee";
       -static const char col_cyan[]   = "#005577";
       +static const char font[]                 = "-xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso8859-15";
       +static const char normbgcolor[]          = "#181818"; // top bar bg
       +static const char normfgcolor[]          = "#999999"; // top bar fg
       +static const char selbgcolor[]           = "#181818"; // top bar selection bg
       +static const char selfgcolor[]           = "#EEEEEE"; // top bar selection fg
       +static const char normbordercolor[]      = "#333333"; // window border bg
       +static const char selbordercolor[]       = "#FF0000"; // window border fg
       +static const char floatnormbordercolor[] = "#181818"; // floating window border bg
       +static const char floatselbordercolor[]  = "#FF0000"; // floating window border fg
       +static const unsigned int borderpx       = 1;         // border pixel of windows
       +static const unsigned int gappx          = 8;         // gap pixel between windows
       +static const unsigned int snap           = 8;         // snap pixel
       +static const Bool showbar                = True;      // False means no bar
       +static const Bool topbar                 = True;      // False means bottom bar
       +static const Bool extrabar               = True;      // False means no extra bar
       +
       +/* dmenu options */
       +#define DMENUOPTS "-fn", "Terminus:size=12" , "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor
        
        /* tagging */
        static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
       t@@ -37,16 +29,14 @@ static const Rule rules[] = {
                { "Firefox",  NULL,       NULL,       1 << 8,       False,       -1 },
        };
        
       -#define DMENUOPTS "-fn", "Terminus:size=12" , "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4
       -
        /* layout(s) */
       -static const float mfact      = 0.55; /* factor of master area size [0.05..0.95] */
       -static const int nmaster      = 1;    /* number of clients in master area */
       +static const float mfact      = 0.55;  /* factor of master area size [0.05..0.95] */
       +static const int nmaster      = 1;     /* number of clients in master area */
        static const Bool resizehints = False; /* True means respect size hints in tiled resizals */
        
        static const Layout layouts[] = {
                /* symbol     arrange function */
       -        { "TILE",      tile },    /* first entry is default */
       +        { "[T]",      tile },    /* first entry is default */
                //{ "NULL",      NULL },    /* no layout function means floating behavior */
                //{ "MONO",      monocle },
        };
   DIR diff --git a/dwm.c b/dwm.c
       t@@ -57,7 +57,7 @@
        
        /* enums */
        enum { CurNormal, CurResize, CurMove, CurLast };        /* cursor */
       -enum { ColBorder, ColFG, ColBG, ColLast };              /* color */
       +enum { ColBorder, ColFG, ColBG, ColBorderFloat, ColLast };              /* color */
        enum { NetSupported, NetWMName, NetWMState,
               NetWMFullscreen, NetActiveWindow, NetWMWindowType,
               NetWMWindowTypeDialog, NetLast };     /* EWMH atoms */
       t@@ -902,7 +902,10 @@ focus(Client *c) {
                        detachstack(c);
                        attachstack(c);
                        grabbuttons(c, True);
       -                XSetWindowBorder(dpy, c->win, dc.sel[ColBorder]);
       +                if(c->isfloating)
       +                        XSetWindowBorder(dpy, c->win, dc.sel[ColBorderFloat]);
       +                else
       +                        XSetWindowBorder(dpy, c->win, dc.sel[ColBorder]);
                        setfocus(c);
                }
                else
       t@@ -1204,6 +1207,8 @@ manage(Window w, XWindowAttributes *wa) {
                        c->isfloating = c->oldstate = trans != None || c->isfixed;
                if(c->isfloating)
                        XRaiseWindow(dpy, c->win);
       +        if(c->isfloating)
       +                XSetWindowBorder(dpy, w, dc.norm[ColBorderFloat]);
                attach(c);
                attachstack(c);
                XMoveResizeWindow(dpy, c->win, c->x + 2 * sw, c->y, c->w, c->h); /* some windows require this */
       t@@ -1668,9 +1673,11 @@ setup(void) {
                dc.norm[ColBorder] = getcolor(normbordercolor);
                dc.norm[ColBG] = getcolor(normbgcolor);
                dc.norm[ColFG] = getcolor(normfgcolor);
       +        dc.norm[ColBorderFloat] = getcolor(floatnormbordercolor);
                dc.sel[ColBorder] = getcolor(selbordercolor);
                dc.sel[ColBG] = getcolor(selbgcolor);
                dc.sel[ColFG] = getcolor(selfgcolor);
       +        dc.sel[ColBorderFloat] = getcolor(floatselbordercolor);
                dc.drawable = XCreatePixmap(dpy, root, DisplayWidth(dpy, screen), bh, DefaultDepth(dpy, screen));
                dc.gc = XCreateGC(dpy, root, 0, NULL);
                XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter);
       t@@ -1807,6 +1814,10 @@ togglefloating(const Arg *arg) {
                        return;
                selmon->sel->isfloating = !selmon->sel->isfloating || selmon->sel->isfixed;
                if(selmon->sel->isfloating)
       +                XSetWindowBorder(dpy, selmon->sel->win, dc.sel[ColBorderFloat]);
       +        else
       +                XSetWindowBorder(dpy, selmon->sel->win, dc.sel[ColBorder]);
       +        if(selmon->sel->isfloating)
                        resize(selmon->sel, selmon->sel->x, selmon->sel->y,
                               selmon->sel->w, selmon->sel->h, False);
                arrange(selmon);
       t@@ -1862,7 +1873,10 @@ unfocus(Client *c, Bool setfocus) {
                if(!c)
                        return;
                grabbuttons(c, False);
       -        XSetWindowBorder(dpy, c->win, dc.norm[ColBorder]);
       +        if(c->isfloating)
       +                XSetWindowBorder(dpy, c->win, dc.norm[ColBorderFloat]);
       +        else
       +                XSetWindowBorder(dpy, c->win, dc.norm[ColBorder]);
                if(setfocus)
                        XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
        }