diff --git a/README.md b/README.md index 3bd1792..4492603 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,8 @@ Refer to [https://dwm.suckless.org/](https://dwm.suckless.org/) for details on t ### Changelog: +2019-09-13 - Added titlecolor patch + 2019-09-12 - Added activetagindicatorbar, alwaysfullscreen and autoresize patches 2019-09-11 - Added monitor rules, combo and ewmhtags patches @@ -130,6 +132,9 @@ Refer to [https://dwm.suckless.org/](https://dwm.suckless.org/) for details on t - [tagswapmon](https://github.com/bakkeby/dwm-vanitygaps/blob/master/patches/dwm-tagswapmon-6.2.diff) - swap all visible windows on one monitor with those of an adjacent monitor + - [titlecolor](https://dwm.suckless.org/patches/titlecolor/) + - adds a new color scheme used by the (selected) window title in the bar + - [togglefullscreen](https://github.com/bakkeby/dwm-vanitygaps/blob/master/patches/dwm-togglefullscreen-6.2.diff) - allows you to toggle fullscreen on and off using a single shortcut key @@ -180,4 +185,4 @@ Refer to [https://dwm.suckless.org/](https://dwm.suckless.org/) for details on t - horizontal grid layout - [nrowgrid](https://dwm.suckless.org/patches/nrowgrid/) - - nrowgrid layout, number of rows in grid controlled by nmaster \ No newline at end of file + - nrowgrid layout, number of rows in grid controlled by nmaster diff --git a/config.def.h b/config.def.h index 871490d..da197be 100644 --- a/config.def.h +++ b/config.def.h @@ -33,31 +33,40 @@ static const char col_cyan[] = "#005577"; static const unsigned int baralpha = 0xd0; static const unsigned int borderalpha = OPAQUE; static const unsigned int alphas[][3] = { - /* fg bg border */ - [SchemeNorm] = { OPAQUE, baralpha, borderalpha }, - [SchemeSel] = { OPAQUE, baralpha, borderalpha }, - #if AWESOMEBAR_PATCH - [SchemeHid] = { OPAQUE, baralpha, borderalpha }, + /* fg bg border */ + [SchemeNorm] = { OPAQUE, baralpha, borderalpha }, + [SchemeSel] = { OPAQUE, baralpha, borderalpha }, + #if AWESOMEBA R_PATCH + [SchemeHid] = { OPAQUE, baralpha, borderalpha }, #endif // AWESOMEBAR_PATCH + #if TITLECOLOR_PATCH + [SchemeTitle] = { OPAQUE, baralpha, borderalpha }, + #endif // TITLECOLOR_PATCH }; #endif // ALPHA_PATCH #if FLOAT_BORDER_COLOR_PATCH static const char *colors[][4] = { - /* fg bg border float */ - [SchemeNorm] = { col_gray3, col_gray1, col_gray2, col_gray2 }, - [SchemeSel] = { col_gray4, col_cyan, col_cyan, col_cyan }, + /* fg bg border float */ + [SchemeNorm] = { col_gray3, col_gray1, col_gray2, col_gray2 }, + [SchemeSel] = { col_gray4, col_cyan, col_cyan, col_cyan }, #if AWESOMEBAR_PATCH - [SchemeHid] = { col_cyan, col_gray1, col_cyan, col_cyan }, + [SchemeHid] = { col_cyan, col_gray1, col_cyan, col_cyan }, #endif // AWESOMEBAR_PATCH + #if TITLECOLOR_PATCH + [SchemeTitle] = { col_gray4, col_cyan, col_cyan, col_cyan }, + #endif // TITLECOLOR_PATCH }; #else static const char *colors[][3] = { - /* fg bg border */ - [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, - [SchemeSel] = { col_gray4, col_cyan, col_cyan }, + /* fg bg border */ + [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, + [SchemeSel] = { col_gray4, col_cyan, col_cyan }, #if AWESOMEBAR_PATCH - [SchemeHid] = { col_cyan, col_gray1, col_cyan }, + [SchemeHid] = { col_cyan, col_gray1, col_cyan }, #endif // AWESOMEBAR_PATCH + #if TITLECOLOR_PATCH + [SchemeTitle] = { col_gray4, col_cyan, col_cyan }, + #endif // TITLECOLOR_PATCH }; #endif // FLOAT_BORDER_COLOR_PATCH diff --git a/dwm.c b/dwm.c index 420c2a8..d0696ce 100644 --- a/dwm.c +++ b/dwm.c @@ -68,11 +68,18 @@ /* enums */ enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */ -#if AWESOMEBAR_PATCH -enum { SchemeNorm, SchemeSel, SchemeHid }; /* color schemes */ -#else -enum { SchemeNorm, SchemeSel }; /* color schemes */ -#endif // #if AWESOMEBAR_PATCH + +enum { + SchemeNorm + ,SchemeSel + #if AWESOMEBAR_PATCH + ,SchemeHid + #endif // AWESOMEBAR_PATCH + #if TITLECOLOR_PATCH + ,SchemeTitle + #endif // TITLECOLOR_PATCH +}; /* color schemes */ + enum { NetSupported, NetWMName, NetWMState, NetWMCheck, NetWMFullscreen, NetActiveWindow, NetWMWindowType, #if SYSTRAY_PATCH @@ -1100,11 +1107,16 @@ drawbar(Monitor *m) if (!ISVISIBLE(c)) continue; if (m->sel == c) + #if TITLECOLOR_PATCH + scm = SchemeTitle; + #else scm = SchemeSel; + #endif // TITLECOLOR_PATCH else if (HIDDEN(c)) scm = SchemeHid; else scm = SchemeNorm; + drw_setscheme(drw, scheme[scm]); drw_text(drw, x, 0, (1.0 / (double)n) * w, bh, lrpad / 2, c->name, 0); x += (1.0 / (double)n) * w; @@ -1136,7 +1148,11 @@ drawbar(Monitor *m) continue; tw = MIN(m->sel == c ? w : mw, TEXTW(c->name)); + #if TITLECOLOR_PATCH + drw_setscheme(drw, scheme[m->sel == c ? SchemeTitle : SchemeNorm]); + #else drw_setscheme(drw, scheme[m->sel == c ? SchemeSel : SchemeNorm]); + #endif // TITLECOLOR_PATCH if (tw > 0) /* trap special handling of 0 in drw_text */ drw_text(drw, x, 0, tw, bh, lrpad / 2, c->name, 0); if (c->isfloating) @@ -1149,7 +1165,11 @@ drawbar(Monitor *m) drw_rect(drw, x, 0, w, bh, 1, 1); #else if (m->sel) { + #if TITLECOLOR_PATCH + drw_setscheme(drw, scheme[m == selmon ? SchemeTitle : SchemeNorm]); + #else drw_setscheme(drw, scheme[m == selmon ? SchemeSel : SchemeNorm]); + #endif // TITLECOLOR_PATCH #if CENTEREDWINDOWNAME_PATCH int mid = (m->ww - TEXTW(m->sel->name)) / 2 - x; drw_text(drw, x, 0, w, bh, mid, m->sel->name, 0); diff --git a/patches.h b/patches.h index b4cc065..83b8141 100644 --- a/patches.h +++ b/patches.h @@ -225,6 +225,11 @@ */ #define TAGSWAPMON_PATCH 0 +/* Adds a new color scheme used by the (selected) window title in the bar. + * https://dwm.suckless.org/patches/titlecolor/ + */ +#define TITLECOLOR_PATCH 0 + /* This patch allows you to toggle fullscreen on and off using a single shortcut key. * https://github.com/bakkeby/dwm-vanitygaps/blob/master/patches/dwm-togglefullscreen-6.2.diff */