mirror of
https://github.com/mintycube/dwm.git
synced 2024-10-22 14:05:45 +02:00
Adding status2d patch
This commit is contained in:
parent
fc8434abd1
commit
e79aec52c2
@ -15,6 +15,8 @@ Refer to [https://dwm.suckless.org/](https://dwm.suckless.org/) for details on t
|
|||||||
|
|
||||||
### Changelog:
|
### Changelog:
|
||||||
|
|
||||||
|
2020-05-26 - Added the status2d patch (with alpha, systray, statuspadding and dwmblocks compatibility, no statuscolors or extrabar compatibility)
|
||||||
|
|
||||||
2020-05-21 - Added the moveplace and moveresize patches
|
2020-05-21 - Added the moveplace and moveresize patches
|
||||||
|
|
||||||
2020-05-03 - Added the shiftviewclients patch and the no transparent borders patch which removes opacity from window borders when the alpha patch is not used
|
2020-05-03 - Added the shiftviewclients patch and the no transparent borders patch which removes opacity from window borders when the alpha patch is not used
|
||||||
@ -349,6 +351,9 @@ Refer to [https://dwm.suckless.org/](https://dwm.suckless.org/) for details on t
|
|||||||
- [statuscmd](https://dwm.suckless.org/patches/statuscmd/)
|
- [statuscmd](https://dwm.suckless.org/patches/statuscmd/)
|
||||||
- adds the ability to execute shell commands based on the mouse button and position when clicking the status bar
|
- adds the ability to execute shell commands based on the mouse button and position when clicking the status bar
|
||||||
|
|
||||||
|
- [status2d](https://dwm.suckless.org/patches/status2d/)
|
||||||
|
- allows colors and rectangle drawing in the dwm status bar
|
||||||
|
|
||||||
- [statusallmons](https://dwm.suckless.org/patches/statuspadding/)
|
- [statusallmons](https://dwm.suckless.org/patches/statuspadding/)
|
||||||
- this patch draws and updates the statusbar on all monitors
|
- this patch draws and updates the statusbar on all monitors
|
||||||
|
|
||||||
|
12
config.def.h
12
config.def.h
@ -131,7 +131,7 @@ static const unsigned int alphas[][3] = {
|
|||||||
#if VTCOLORS_PATCH && FLOAT_BORDER_COLOR_PATCH
|
#if VTCOLORS_PATCH && FLOAT_BORDER_COLOR_PATCH
|
||||||
static const char title_bg_dark[] = "#303030";
|
static const char title_bg_dark[] = "#303030";
|
||||||
static const char title_bg_light[] = "#fdfdfd";
|
static const char title_bg_light[] = "#fdfdfd";
|
||||||
static const int color_ptrs[][4] = {
|
static const int color_ptrs[][ColCount] = {
|
||||||
/* fg bg border float */
|
/* fg bg border float */
|
||||||
[SchemeNorm] = { -1, -1, 5, 12 },
|
[SchemeNorm] = { -1, -1, 5, 12 },
|
||||||
[SchemeSel] = { -1, -1, 11, 13 },
|
[SchemeSel] = { -1, -1, 11, 13 },
|
||||||
@ -150,7 +150,7 @@ static const int color_ptrs[][4] = {
|
|||||||
[SchemeTitleSel] = { 6, -1, -1, -1 },
|
[SchemeTitleSel] = { 6, -1, -1, -1 },
|
||||||
[SchemeStatus] = { 2, 0, 0, -1 },
|
[SchemeStatus] = { 2, 0, 0, -1 },
|
||||||
};
|
};
|
||||||
static char colors[][4][8] = {
|
static char colors[][ColCount][8] = {
|
||||||
/* fg bg border float */
|
/* fg bg border float */
|
||||||
[SchemeNorm] = { "#000000", "#000000", "#000000", "#000000" },
|
[SchemeNorm] = { "#000000", "#000000", "#000000", "#000000" },
|
||||||
[SchemeSel] = { "#000000", "#000000", "#000000", "#000000" },
|
[SchemeSel] = { "#000000", "#000000", "#000000", "#000000" },
|
||||||
@ -172,7 +172,7 @@ static char colors[][4][8] = {
|
|||||||
#elif VTCOLORS_PATCH
|
#elif VTCOLORS_PATCH
|
||||||
static const char title_bg_dark[] = "#303030";
|
static const char title_bg_dark[] = "#303030";
|
||||||
static const char title_bg_light[] = "#fdfdfd";
|
static const char title_bg_light[] = "#fdfdfd";
|
||||||
static const int color_ptrs[][3] = {
|
static const int color_ptrs[][ColCount] = {
|
||||||
/* fg bg border */
|
/* fg bg border */
|
||||||
[SchemeNorm] = { -1, -1, 5 },
|
[SchemeNorm] = { -1, -1, 5 },
|
||||||
[SchemeSel] = { -1, -1, 11 },
|
[SchemeSel] = { -1, -1, 11 },
|
||||||
@ -191,7 +191,7 @@ static const int color_ptrs[][3] = {
|
|||||||
[SchemeTitleSel] = { 6, -1, -1 },
|
[SchemeTitleSel] = { 6, -1, -1 },
|
||||||
[SchemeStatus] = { 2, 0, 0 },
|
[SchemeStatus] = { 2, 0, 0 },
|
||||||
};
|
};
|
||||||
static char colors[][3][8] = {
|
static char colors[][ColCount][8] = {
|
||||||
/* fg bg border */
|
/* fg bg border */
|
||||||
[SchemeNorm] = { "#000000", "#000000", "#000000" },
|
[SchemeNorm] = { "#000000", "#000000", "#000000" },
|
||||||
[SchemeSel] = { "#000000", "#000000", "#000000" },
|
[SchemeSel] = { "#000000", "#000000", "#000000" },
|
||||||
@ -215,7 +215,7 @@ static
|
|||||||
#if !XRDB_PATCH
|
#if !XRDB_PATCH
|
||||||
const
|
const
|
||||||
#endif // XRDB_PATCH
|
#endif // XRDB_PATCH
|
||||||
char *colors[][4] = {
|
char *colors[][ColCount] = {
|
||||||
/* fg bg border float */
|
/* fg bg border float */
|
||||||
[SchemeNorm] = { normfgcolor, normbgcolor, normbordercolor, normfloatcolor },
|
[SchemeNorm] = { normfgcolor, normbgcolor, normbordercolor, normfloatcolor },
|
||||||
[SchemeSel] = { selfgcolor, selbgcolor, selbordercolor, selfloatcolor },
|
[SchemeSel] = { selfgcolor, selbgcolor, selbordercolor, selfloatcolor },
|
||||||
@ -237,7 +237,7 @@ static
|
|||||||
#if !XRDB_PATCH
|
#if !XRDB_PATCH
|
||||||
const
|
const
|
||||||
#endif // XRDB_PATCH
|
#endif // XRDB_PATCH
|
||||||
char *colors[][3] = {
|
char *colors[][ColCount] = {
|
||||||
/* fg bg border */
|
/* fg bg border */
|
||||||
[SchemeNorm] = { normfgcolor, normbgcolor, normbordercolor },
|
[SchemeNorm] = { normfgcolor, normbgcolor, normbordercolor },
|
||||||
[SchemeSel] = { selfgcolor, selbgcolor, selbordercolor },
|
[SchemeSel] = { selfgcolor, selbgcolor, selbordercolor },
|
||||||
|
4
drw.h
4
drw.h
@ -13,9 +13,9 @@ typedef struct Fnt {
|
|||||||
} Fnt;
|
} Fnt;
|
||||||
|
|
||||||
#if FLOAT_BORDER_COLOR_PATCH
|
#if FLOAT_BORDER_COLOR_PATCH
|
||||||
enum { ColFg, ColBg, ColBorder, ColFloat }; /* Clr scheme index */
|
enum { ColFg, ColBg, ColBorder, ColFloat, ColCount }; /* Clr scheme index */
|
||||||
#else
|
#else
|
||||||
enum { ColFg, ColBg, ColBorder }; /* Clr scheme index */
|
enum { ColFg, ColBg, ColBorder, ColCount }; /* Clr scheme index */
|
||||||
#endif // FLOAT_BORDER_COLOR_PATCH
|
#endif // FLOAT_BORDER_COLOR_PATCH
|
||||||
typedef XftColor Clr;
|
typedef XftColor Clr;
|
||||||
|
|
||||||
|
48
dwm.c
48
dwm.c
@ -435,9 +435,17 @@ static void zoom(const Arg *arg);
|
|||||||
|
|
||||||
/* variables */
|
/* variables */
|
||||||
static const char broken[] = "broken";
|
static const char broken[] = "broken";
|
||||||
|
#if STATUS2D_PATCH && !STATUSCOLORS_PATCH
|
||||||
|
static char stext[1024];
|
||||||
|
#else
|
||||||
static char stext[256];
|
static char stext[256];
|
||||||
|
#endif // STATUS2D_PATCH
|
||||||
#if EXTRABAR_PATCH
|
#if EXTRABAR_PATCH
|
||||||
|
#if STATUS2D_PATCH && !STATUSCOLORS_PATCH
|
||||||
|
static char estext[1024];
|
||||||
|
#else
|
||||||
static char estext[256];
|
static char estext[256];
|
||||||
|
#endif // STATUS2D_PATCH
|
||||||
#endif // EXTRABAR_PATCH
|
#endif // EXTRABAR_PATCH
|
||||||
static int screen;
|
static int screen;
|
||||||
static int sw, sh; /* X display screen geometry width, height */
|
static int sw, sh; /* X display screen geometry width, height */
|
||||||
@ -1002,7 +1010,11 @@ cleanup(void)
|
|||||||
#endif // SYSTRAY_PATCH
|
#endif // SYSTRAY_PATCH
|
||||||
for (i = 0; i < CurLast; i++)
|
for (i = 0; i < CurLast; i++)
|
||||||
drw_cur_free(drw, cursor[i]);
|
drw_cur_free(drw, cursor[i]);
|
||||||
|
#if STATUS2D_PATCH && !STATUSCOLORS_PATCH
|
||||||
|
for (i = 0; i < LENGTH(colors) + 1; i++)
|
||||||
|
#else
|
||||||
for (i = 0; i < LENGTH(colors); i++)
|
for (i = 0; i < LENGTH(colors); i++)
|
||||||
|
#endif // STATUS2D_PATCH
|
||||||
free(scheme[i]);
|
free(scheme[i]);
|
||||||
free(scheme);
|
free(scheme);
|
||||||
XDestroyWindow(dpy, wmcheckwin);
|
XDestroyWindow(dpy, wmcheckwin);
|
||||||
@ -1490,11 +1502,7 @@ drawbar(Monitor *m)
|
|||||||
|
|
||||||
#if SYSTRAY_PATCH
|
#if SYSTRAY_PATCH
|
||||||
if (showsystray && m == systraytomon(m))
|
if (showsystray && m == systraytomon(m))
|
||||||
#if BARPADDING_PATCH
|
stw += getsystraywidth();
|
||||||
stw = getsystraywidth() + 2 * sp;
|
|
||||||
#else
|
|
||||||
stw = getsystraywidth();
|
|
||||||
#endif // BARPADDING_PATCH
|
|
||||||
#endif // SYSTRAY_PATCH
|
#endif // SYSTRAY_PATCH
|
||||||
|
|
||||||
/* draw status first so it can be overdrawn by tags later */
|
/* draw status first so it can be overdrawn by tags later */
|
||||||
@ -1527,6 +1535,8 @@ drawbar(Monitor *m)
|
|||||||
*ts = ctmp;
|
*ts = ctmp;
|
||||||
tp = ++ts;
|
tp = ++ts;
|
||||||
}
|
}
|
||||||
|
#elif STATUS2D_PATCH
|
||||||
|
tw = m->ww - drawstatusbar(m, bh, stext, stw, stp);
|
||||||
#else // STATUSCOLORS_PATCH
|
#else // STATUSCOLORS_PATCH
|
||||||
#if STATUSPADDING_PATCH
|
#if STATUSPADDING_PATCH
|
||||||
tw = TEXTW(stext);
|
tw = TEXTW(stext);
|
||||||
@ -3074,18 +3084,22 @@ setup(void)
|
|||||||
strcpy(colors[SchemeTitleSel][ColBg], title_bg_dark);
|
strcpy(colors[SchemeTitleSel][ColBg], title_bg_dark);
|
||||||
}
|
}
|
||||||
#endif // VTCOLORS_PATCH
|
#endif // VTCOLORS_PATCH
|
||||||
scheme = ecalloc(LENGTH(colors), sizeof(Clr *));
|
#if STATUS2D_PATCH && !STATUSCOLORS_PATCH
|
||||||
for (i = 0; i < LENGTH(colors); i++)
|
scheme = ecalloc(LENGTH(colors) + 1, sizeof(Clr *));
|
||||||
scheme[i] = drw_scm_create(drw, colors[i],
|
|
||||||
#if ALPHA_PATCH
|
#if ALPHA_PATCH
|
||||||
alphas[i],
|
scheme[LENGTH(colors)] = drw_scm_create(drw, colors[0], alphas[0], ColCount);
|
||||||
#endif // ALPHA_PATCH
|
|
||||||
#if FLOAT_BORDER_COLOR_PATCH
|
|
||||||
4
|
|
||||||
#else
|
#else
|
||||||
3
|
scheme[LENGTH(colors)] = drw_scm_create(drw, colors[0], ColCount);
|
||||||
#endif // FLOAT_BORDER_COLOR_PATCH
|
#endif // ALPHA_PATCH | FLOAT_BORDER_COLOR_PATCH
|
||||||
);
|
#else
|
||||||
|
scheme = ecalloc(LENGTH(colors), sizeof(Clr *));
|
||||||
|
#endif // STATUS2D_PATCH
|
||||||
|
for (i = 0; i < LENGTH(colors); i++)
|
||||||
|
#if ALPHA_PATCH
|
||||||
|
scheme[i] = drw_scm_create(drw, colors[i], alphas[i], ColCount);
|
||||||
|
#else
|
||||||
|
scheme[i] = drw_scm_create(drw, colors[i], ColCount);
|
||||||
|
#endif // ALPHA_PATCH
|
||||||
#if SYSTRAY_PATCH
|
#if SYSTRAY_PATCH
|
||||||
/* init system tray */
|
/* init system tray */
|
||||||
if (showsystray)
|
if (showsystray)
|
||||||
@ -3907,7 +3921,11 @@ updatestatus(void)
|
|||||||
Monitor* m;
|
Monitor* m;
|
||||||
#endif // STATUSALLMONS_PATCH
|
#endif // STATUSALLMONS_PATCH
|
||||||
#if EXTRABAR_PATCH
|
#if EXTRABAR_PATCH
|
||||||
|
#if STATUS2D_PATCH
|
||||||
|
char text[1024];
|
||||||
|
#else
|
||||||
char text[512];
|
char text[512];
|
||||||
|
#endif // STATUS2D_PATCH
|
||||||
if (!gettextprop(root, XA_WM_NAME, text, sizeof(text))) {
|
if (!gettextprop(root, XA_WM_NAME, text, sizeof(text))) {
|
||||||
strcpy(stext, "dwm-"VERSION);
|
strcpy(stext, "dwm-"VERSION);
|
||||||
estext[0] = '\0';
|
estext[0] = '\0';
|
||||||
|
@ -122,6 +122,9 @@
|
|||||||
#if STACKER_PATCH
|
#if STACKER_PATCH
|
||||||
#include "stacker.c"
|
#include "stacker.c"
|
||||||
#endif
|
#endif
|
||||||
|
#if STATUS2D_PATCH && !STATUSCOLORS_PATCH
|
||||||
|
#include "status2d.c"
|
||||||
|
#endif
|
||||||
#if STATUSCOLORS_PATCH
|
#if STATUSCOLORS_PATCH
|
||||||
#include "statuscolors.c"
|
#include "statuscolors.c"
|
||||||
#endif
|
#endif
|
||||||
|
@ -125,6 +125,9 @@
|
|||||||
#if STACKER_PATCH
|
#if STACKER_PATCH
|
||||||
#include "stacker.h"
|
#include "stacker.h"
|
||||||
#endif
|
#endif
|
||||||
|
#if STATUS2D_PATCH && !STATUSCOLORS_PATCH
|
||||||
|
#include "status2d.h"
|
||||||
|
#endif
|
||||||
#if STATUSCMD_PATCH
|
#if STATUSCMD_PATCH
|
||||||
#include "statuscmd.h"
|
#include "statuscmd.h"
|
||||||
#endif
|
#endif
|
||||||
|
128
patch/status2d.c
Normal file
128
patch/status2d.c
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
int
|
||||||
|
drawstatusbar(Monitor *m, int bh, char* stext, int stw, int stp)
|
||||||
|
{
|
||||||
|
int ret, i, w, x, len;
|
||||||
|
short isCode = 0;
|
||||||
|
char *text;
|
||||||
|
char *p;
|
||||||
|
|
||||||
|
len = strlen(stext) + 1 ;
|
||||||
|
if (!(text = (char*) malloc(sizeof(char)*len)))
|
||||||
|
die("malloc");
|
||||||
|
p = text;
|
||||||
|
memcpy(text, stext, len);
|
||||||
|
|
||||||
|
/* compute width of the status text */
|
||||||
|
w = stp * 2;;
|
||||||
|
i = -1;
|
||||||
|
while (text[++i]) {
|
||||||
|
if (text[i] == '^') {
|
||||||
|
if (!isCode) {
|
||||||
|
isCode = 1;
|
||||||
|
text[i] = '\0';
|
||||||
|
w += TEXTW(text) - lrpad;
|
||||||
|
text[i] = '^';
|
||||||
|
if (text[++i] == 'f')
|
||||||
|
w += atoi(text + ++i);
|
||||||
|
} else {
|
||||||
|
isCode = 0;
|
||||||
|
text = text + i + 1;
|
||||||
|
i = -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!isCode)
|
||||||
|
w += TEXTW(text) - lrpad;
|
||||||
|
else
|
||||||
|
isCode = 0;
|
||||||
|
text = p;
|
||||||
|
w += 2; /* 1px padding on both sides */
|
||||||
|
x = m->ww - w - stw + stp;
|
||||||
|
ret = m->ww - w;
|
||||||
|
|
||||||
|
drw_setscheme(drw, scheme[LENGTH(colors)]);
|
||||||
|
drw->scheme[ColFg] = scheme[SchemeNorm][ColFg];
|
||||||
|
drw->scheme[ColBg] = scheme[SchemeNorm][ColBg];
|
||||||
|
drw_rect(drw, x - stp - 1, 0, w, bh, 1, 1);
|
||||||
|
x++;
|
||||||
|
|
||||||
|
/* process status text */
|
||||||
|
i = -1;
|
||||||
|
while (text[++i]) {
|
||||||
|
if (text[i] == '^' && !isCode) {
|
||||||
|
isCode = 1;
|
||||||
|
|
||||||
|
text[i] = '\0';
|
||||||
|
w = TEXTW(text) - lrpad;
|
||||||
|
drw_text(drw, x, 0, w, bh, 0, text, 0);
|
||||||
|
|
||||||
|
x += w;
|
||||||
|
|
||||||
|
/* process code */
|
||||||
|
while (text[++i] != '^') {
|
||||||
|
if (text[i] == 'c') {
|
||||||
|
char buf[8];
|
||||||
|
if (i + 7 > len) {
|
||||||
|
i += 7;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
memcpy(buf, (char*)text+i+1, 7);
|
||||||
|
buf[7] = '\0';
|
||||||
|
#if ALPHA_PATCH && STATUS2D_NO_ALPHA_PATCH
|
||||||
|
drw_clr_create(drw, &drw->scheme[ColFg], buf, 0xff);
|
||||||
|
#elif ALPHA_PATCH
|
||||||
|
drw_clr_create(drw, &drw->scheme[ColFg], buf, alphas[SchemeNorm][ColFg]);
|
||||||
|
#else
|
||||||
|
drw_clr_create(drw, &drw->scheme[ColFg], buf);
|
||||||
|
#endif // ALPHA_PATCH
|
||||||
|
i += 7;
|
||||||
|
} else if (text[i] == 'b') {
|
||||||
|
char buf[8];
|
||||||
|
if (i + 7 > len) {
|
||||||
|
i += 7;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
memcpy(buf, (char*)text+i+1, 7);
|
||||||
|
buf[7] = '\0';
|
||||||
|
#if ALPHA_PATCH && STATUS2D_NO_ALPHA_PATCH
|
||||||
|
drw_clr_create(drw, &drw->scheme[ColBg], buf, 0xff);
|
||||||
|
#elif ALPHA_PATCH
|
||||||
|
drw_clr_create(drw, &drw->scheme[ColBg], buf, alphas[SchemeNorm][ColBg]);
|
||||||
|
#else
|
||||||
|
drw_clr_create(drw, &drw->scheme[ColBg], buf);
|
||||||
|
#endif // ALPHA_PATCH
|
||||||
|
i += 7;
|
||||||
|
} else if (text[i] == 'd') {
|
||||||
|
drw->scheme[ColFg] = scheme[SchemeNorm][ColFg];
|
||||||
|
drw->scheme[ColBg] = scheme[SchemeNorm][ColBg];
|
||||||
|
} else if (text[i] == 'r') {
|
||||||
|
int rx = atoi(text + ++i);
|
||||||
|
while (text[++i] != ',');
|
||||||
|
int ry = atoi(text + ++i);
|
||||||
|
while (text[++i] != ',');
|
||||||
|
int rw = atoi(text + ++i);
|
||||||
|
while (text[++i] != ',');
|
||||||
|
int rh = atoi(text + ++i);
|
||||||
|
|
||||||
|
drw_rect(drw, rx + x, ry, rw, rh, 1, 0);
|
||||||
|
} else if (text[i] == 'f') {
|
||||||
|
x += atoi(text + ++i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
text = text + i + 1;
|
||||||
|
i=-1;
|
||||||
|
isCode = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isCode) {
|
||||||
|
w = TEXTW(text) - lrpad;
|
||||||
|
drw_text(drw, x, 0, w, bh, 0, text, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
drw_setscheme(drw, scheme[SchemeNorm]);
|
||||||
|
free(p);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
1
patch/status2d.h
Normal file
1
patch/status2d.h
Normal file
@ -0,0 +1 @@
|
|||||||
|
static int drawstatusbar(Monitor *m, int bh, char* text, int stw, int stp);
|
@ -1,4 +1,8 @@
|
|||||||
|
#if STATUS2D_PATCH
|
||||||
|
static char rawstext[1024];
|
||||||
|
#else
|
||||||
static char rawstext[256];
|
static char rawstext[256];
|
||||||
|
#endif // STATUS2D_PATCH
|
||||||
#if !DWMBLOCKS_PATCH
|
#if !DWMBLOCKS_PATCH
|
||||||
static const char statusexport[] = "export BUTTON=-;";
|
static const char statusexport[] = "export BUTTON=-;";
|
||||||
static int statuscmdn;
|
static int statuscmdn;
|
||||||
|
@ -495,6 +495,18 @@
|
|||||||
*/
|
*/
|
||||||
#define STACKER_PATCH 0
|
#define STACKER_PATCH 0
|
||||||
|
|
||||||
|
/* Status2d allows colors and rectangle drawing in the dwm status bar.
|
||||||
|
* This patch is incompatible with the statuscolors patch which takes precedence.
|
||||||
|
* This patch is incompatible with the extrabar patch.
|
||||||
|
* NB: If using this with dwmblocks then make sure to increase CMDLENGTH in dwmblocks.c
|
||||||
|
* from 50 (default) to 1024.
|
||||||
|
* https://dwm.suckless.org/patches/status2d/
|
||||||
|
*/
|
||||||
|
#define STATUS2D_PATCH 0
|
||||||
|
|
||||||
|
/* Supplementary patch should you want to disable alpha for the status2d section */
|
||||||
|
#define STATUS2D_NO_ALPHA_PATCH 0
|
||||||
|
|
||||||
/* This patch draws and updates the statusbar on all monitors.
|
/* This patch draws and updates the statusbar on all monitors.
|
||||||
* https://dwm.suckless.org/patches/statusallmons/
|
* https://dwm.suckless.org/patches/statusallmons/
|
||||||
*/
|
*/
|
||||||
@ -502,6 +514,7 @@
|
|||||||
|
|
||||||
/* This patch enables colored text in the status bar. It changes the way colors are defined
|
/* This patch enables colored text in the status bar. It changes the way colors are defined
|
||||||
* in config.h allowing multiple color combinations for use in the status script.
|
* in config.h allowing multiple color combinations for use in the status script.
|
||||||
|
* This patch is incompatible with and takes precedence over the status2d patch.
|
||||||
* https://dwm.suckless.org/patches/statuscolors/
|
* https://dwm.suckless.org/patches/statuscolors/
|
||||||
*/
|
*/
|
||||||
#define STATUSCOLORS_PATCH 0
|
#define STATUSCOLORS_PATCH 0
|
||||||
|
Loading…
Reference in New Issue
Block a user