From fc28c6a7b2befb1af04863c022e24820f2ac5d4c Mon Sep 17 00:00:00 2001 From: bakkeby Date: Mon, 7 Oct 2019 00:46:23 +0200 Subject: [PATCH] Adding statuscolors patch --- README.md | 5 ++- config.def.h | 38 +++++++++++----- dwm.c | 79 ++++++++++++++++++++++++++++----- patches.h | 120 +++++++++++++++++++++++++++------------------------ 4 files changed, 163 insertions(+), 79 deletions(-) diff --git a/README.md b/README.md index 8b39fef..5214a71 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Refer to [https://dwm.suckless.org/](https://dwm.suckless.org/) for details on t ### Changelog: -2019-10-06 - Added statusallmons patch, fixed minor cross-compatibility issues for killunsel, fullscreen, noborder, tagintostack patches +2019-10-06 - Added statuscolors and statusallmons patches, fixed minor cross-compatibility issues for killunsel, fullscreen, noborder, tagintostack patches 2019-10-05 - Added killunsel, taggrid, hidevacanttags and cmdcustomize patches @@ -195,6 +195,9 @@ Refer to [https://dwm.suckless.org/](https://dwm.suckless.org/) for details on t - [statusallmons](https://dwm.suckless.org/patches/statuspadding/) - this patch draws and updates the statusbar on all monitors + - [statuscolors](https://dwm.suckless.org/patches/statuscolors/) + - enables colored text in the status bar allowing multiple color combinations for use in the status script + - [statuspadding](https://dwm.suckless.org/patches/statuspadding/) - adds configuration options for horizontal and vertical padding in the status bar diff --git a/config.def.h b/config.def.h index 40db765..92c77bc 100644 --- a/config.def.h +++ b/config.def.h @@ -6,8 +6,8 @@ static const unsigned int snap = 32; /* snap pixel */ #if VANITYGAPS_PATCH static const unsigned int gappih = 20; /* horiz inner gap between windows */ static const unsigned int gappiv = 10; /* vert inner gap between windows */ -static const unsigned int gappoh = 10 /* horiz outer gap between windows and screen edge */ -static const unsigned int gappov = 30 /* vert outer gap between windows and screen edge */ +static const unsigned int gappoh = 10; /* horiz outer gap between windows and screen edge */ +static const unsigned int gappov = 30; /* vert outer gap between windows and screen edge */ static const int smartgaps = 0; /* 1 means no outer gap when there is only one window */ #endif // VANITYGAPS_PATCH #if HOLDBAR_PATCH @@ -49,14 +49,23 @@ static char selbordercolor[] = "#005577"; static char selfloatcolor[] = "#005577"; #endif // FLOAT_BORDER_COLOR_PATCH -#if URGENTBORDER_PATCH +#if STATUSCOLORS_PATCH +static char warnfgcolor[] = "#000000"; +static char warnbgcolor[] = "#ffff00"; +static char warnbordercolor[] = "#ff0000"; +#if FLOAT_BORDER_COLOR_PATCH +static char warnfloatcolor[] = "#ffffff"; +#endif // FLOAT_BORDER_COLOR_PATCH +#endif // STATUSCOLORS_PATCH + +#if URGENTBORDER_PATCH || STATUSCOLORS_PATCH static char urgfgcolor[] = "#000000"; static char urgbgcolor[] = "#000000"; static char urgbordercolor[] = "#ff0000"; // NB: patch only works with border color for now #if FLOAT_BORDER_COLOR_PATCH static char urgfloatcolor[] = "#000000"; #endif // FLOAT_BORDER_COLOR_PATCH -#endif // URGENTBORDER_PATCH +#endif // URGENTBORDER_PATCH // STATUSCOLORS_PATCH #if AWESOMEBAR_PATCH static char hidfgcolor[] = "#005577"; @@ -83,9 +92,12 @@ static const unsigned int alphas[][3] = { /* fg bg border */ [SchemeNorm] = { OPAQUE, baralpha, borderalpha }, [SchemeSel] = { OPAQUE, baralpha, borderalpha }, - #if URGENTBORDER_PATCH + #if STATUSCOLORS_PATCH + [SchemeWarn] = { OPAQUE, baralpha, borderalpha }, + #endif // STATUSCOLORS_PATCH + #if URGENTBORDER_PATCH || STATUSCOLORS_PATCH [SchemeUrg] = { OPAQUE, baralpha, borderalpha }, - #endif // URGENTBORDER_PATCH + #endif // URGENTBORDER_PATCH / STATUSCOLORS_PATCH #if AWESOMEBAR_PATCH [SchemeHid] = { OPAQUE, baralpha, borderalpha }, #endif // AWESOMEBAR_PATCH @@ -103,9 +115,12 @@ char *colors[][4] = { /* fg bg border float */ [SchemeNorm] = { normfgcolor, normbgcolor, normbordercolor, normfloatcolor }, [SchemeSel] = { selfgcolor, selbgcolor, selbordercolor, selfloatcolor }, - #if URGENTBORDER_PATCH + #if STATUSCOLORS_PATCH + [SchemeWarn] = { warnfgcolor, warnbgcolor, warnbordercolor, warnfloatcolor }, + #endif // STATUSCOLORS_PATCH + #if URGENTBORDER_PATCH || STATUSCOLORS_PATCH [SchemeUrg] = { urgfgcolor, urgbgcolor, urgbordercolor, urgfloatcolor }, - #endif // URGENTBORDER_PATCH + #endif // URGENTBORDER_PATCH / STATUSCOLORS_PATCH #if AWESOMEBAR_PATCH [SchemeHid] = { hidfgcolor, hidbgcolor, hidbordercolor, hidfloatcolor }, #endif // AWESOMEBAR_PATCH @@ -122,9 +137,12 @@ char *colors[][3] = { /* fg bg border */ [SchemeNorm] = { normfgcolor, normbgcolor, normbordercolor }, [SchemeSel] = { selfgcolor, selbgcolor, selbordercolor }, - #if URGENTBORDER_PATCH + #if STATUSCOLORS_PATCH + [SchemeWarn] = { warnfgcolor, warnbgcolor, warnbordercolor }, + #endif // STATUSCOLORS_PATCH + #if URGENTBORDER_PATCH || STATUSCOLORS_PATCH [SchemeUrg] = { urgfgcolor, urgbgcolor, urgbordercolor }, - #endif // URGENTBORDER_PATCH + #endif // URGENTBORDER_PATCH / STATUSCOLORS_PATCH #if AWESOMEBAR_PATCH [SchemeHid] = { hidfgcolor, hidbgcolor, hidbordercolor }, #endif // AWESOMEBAR_PATCH diff --git a/dwm.c b/dwm.c index e7e9db0..aec0c2c 100644 --- a/dwm.c +++ b/dwm.c @@ -77,9 +77,12 @@ enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */ enum { SchemeNorm ,SchemeSel - #if URGENTBORDER_PATCH + #if STATUSCOLORS_PATCH + ,SchemeWarn + #endif // STATUSCOLORS_PATCH + #if URGENTBORDER_PATCH || STATUSCOLORS_PATCH ,SchemeUrg - #endif // URGENTBORDER_PATCH + #endif // URGENTBORDER_PATCH || STATUSCOLORS_PATCH #if AWESOMEBAR_PATCH ,SchemeHid #endif // AWESOMEBAR_PATCH @@ -1188,7 +1191,7 @@ dirtomon(int dir) void drawbar(Monitor *m) { - int x, w, sw = 0; + int x, w, sw = 0, invert; #if ALTERNATIVE_TAGS_PATCH int wdelta; #endif // ALTERNATIVE_TAGS_PATCH @@ -1208,6 +1211,12 @@ drawbar(Monitor *m) int boxw = drw->fonts->h / 6 + 2; #endif // HIDEVACANTTAGS_PATCH unsigned int i, occ = 0, urg = 0; + #if STATUSCOLORS_PATCH + char *ts = stext; + char *tp = stext; + int tx = 0; + char ctmp; + #endif // STATUSCOLORS_PATCH Client *c; #if SYSTRAY_PATCH @@ -1222,19 +1231,54 @@ drawbar(Monitor *m) drw_setscheme(drw, scheme[SchemeNorm]); #if STATUSPADDING_PATCH sw = TEXTW(stext); + #else + sw = TEXTW(stext) - lrpad + 2; /* 2px right padding */ + #endif // STATUSPADDING_PATCH + #if STATUSCOLORS_PATCH + while (1) { + if ((unsigned int)*ts > LENGTH(colors)) { + ts++; + continue; + } + ctmp = *ts; + *ts = '\0'; + drw_text(drw, m->ww - sw + tx, 0, sw - tx, bh, 0, tp, 0); + #if STATUSPADDING_PATCH + #if SYSTRAY_PATCH + drw_text(drw, m->ww - sw - stw + tx, 0, sw - tx, bh, lrpad / 2, tp, 0); + #else + drw_text(drw, m->ww - sw + tx, 0, sw - tx, bh, lrpad / 2, tp, 0); + #endif // SYSTRAY_PATCH + #else // STATUSPADDING_PATCH + #if SYSTRAY_PATCH + drw_text(drw, m->ww - sw - stw + tx, 0, sw - tx, bh, 0, tp, 0); + #else + drw_text(drw, m->ww - sw + tx, 0, sw - tx, bh, 0, tp, 0); + #endif // SYSTRAY_PATCH + #endif // STATUSPADDING_PATCH + tx += TEXTW(tp) -lrpad; + if (ctmp == '\0') { + break; + } + drw_setscheme(drw, scheme[(unsigned int)(ctmp-1)]); + *ts = ctmp; + tp = ++ts; + } + #else // STATUSCOLORS_PATCH + #if STATUSPADDING_PATCH #if SYSTRAY_PATCH drw_text(drw, m->ww - sw - stw, 0, sw, bh, lrpad / 2, stext, 0); #else drw_text(drw, m->ww - sw, 0, sw, bh, lrpad / 2, stext, 0); #endif // SYSTRAY_PATCH - #else - sw = TEXTW(stext) - lrpad + 2; /* 2px right padding */ + #else // STATUSPADDING_PATCH #if SYSTRAY_PATCH drw_text(drw, m->ww - sw - stw, 0, sw, bh, 0, stext, 0); #else drw_text(drw, m->ww - sw, 0, sw, bh, 0, stext, 0); #endif // SYSTRAY_PATCH #endif // STATUSPADDING_PATCH + #endif // STATUSCOLORS_PATCH #if !STATUSALLMONS_PATCH } #endif // STATUSALLMONS_PATCH @@ -1262,6 +1306,11 @@ drawbar(Monitor *m) if (drawtagmask & DRAWCLASSICTAGS) #endif // TAGGRID_PATCH for (i = 0; i < LENGTH(tags); i++) { + #if URGENTBORDER_PATCH + invert = 0; + #else + invert = urg & 1 << i; + #endif // URGENTBORDER_PATCH #if HIDEVACANTTAGS_PATCH /* do not draw vacant tags */ if (!(occ & 1 << i || m->tagset[m->seltags] & 1 << i)) @@ -1271,23 +1320,27 @@ drawbar(Monitor *m) #if ALTERNATIVE_TAGS_PATCH wdelta = selmon->alttag ? abs(TEXTW(tags[i]) - TEXTW(tagsalt[i])) / 2 : 0; #endif // ALTERNATIVE_TAGS_PATCH + #if URGENTBORDER_PATCH + if (m->tagset[m->seltags] & 1 << i) + drw_setscheme(drw, scheme[SchemeSel]); + else + drw_setscheme(drw, scheme[urg & 1 << i ? SchemeUrg : SchemeNorm]); + #else // URGENTBORDER_PATCH drw_setscheme(drw, scheme[m->tagset[m->seltags] & 1 << i ? SchemeSel : SchemeNorm]); + #endif // URGENTBORDER_PATCH #if ALTERNATIVE_TAGS_PATCH - drw_text(drw, x, 0, w, bh, wdelta + lrpad / 2, (selmon->alttag ? tagsalt[i] : tags[i]), urg & 1 << i); + drw_text(drw, x, 0, w, bh, wdelta + lrpad / 2, (selmon->alttag ? tagsalt[i] : tags[i]), invert); #else - drw_text(drw, x, 0, w, bh, lrpad / 2, tags[i], urg & 1 << i); + drw_text(drw, x, 0, w, bh, lrpad / 2, tags[i], invert); #endif // ALTERNATIVE_TAGS_PATCH #if !HIDEVACANTTAGS_PATCH if (occ & 1 << i) #if ACTIVETAGINDICATORBAR_PATCH drw_rect(drw, x + boxw, 0, w - ( 2 * boxw + 1), boxw, - m == selmon && selmon->sel && selmon->sel->tags & 1 << i, - urg & 1 << i); #else drw_rect(drw, x + boxs, boxs, boxw, boxw, - m == selmon && selmon->sel && selmon->sel->tags & 1 << i, - urg & 1 << i); #endif // ACTIVETAGINDICATORBAR_PATCH + m == selmon && selmon->sel && selmon->sel->tags & 1 << i, invert); #endif // HIDEVACANTTAGS_PATCH x += w; } @@ -2034,6 +2087,10 @@ propertynotify(XEvent *e) case XA_WM_HINTS: updatewmhints(c); drawbars(); + #if URGENTBORDER_PATCH + if (c->isurgent) + XSetWindowBorder(dpy, c->win, scheme[SchemeUrg][ColBorder].pixel); + #endif // URGENTBORDER_PATCH break; } if (ev->atom == XA_WM_NAME || ev->atom == netatom[NetWMName]) { diff --git a/patches.h b/patches.h index 426d816..712a771 100644 --- a/patches.h +++ b/patches.h @@ -21,13 +21,13 @@ /* The alpha patch adds transparency for the status bar. * https://dwm.suckless.org/patches/alpha/ */ -#define ALPHA_PATCH 1 +#define ALPHA_PATCH 0 /* This patch introduces alternative tags which can be switched on the fly for the * sole purpose of providing visual aid. * https://dwm.suckless.org/patches/alternativetags/ */ -#define ALTERNATIVE_TAGS_PATCH 1 +#define ALTERNATIVE_TAGS_PATCH 0 /* This patch prevents the focus to drift from the active fullscreen client when * using focusstack(). @@ -46,7 +46,7 @@ * This patch takes precedence over ATTACHBELOW_PATCH. * https://dwm.suckless.org/patches/attachaside/ */ -#define ATTACHASIDE_PATCH 1 +#define ATTACHASIDE_PATCH 0 /* This patch adds new clients below the selected client. * This patch takes precedence over ATTACHBOTTOM_PATCH. @@ -65,55 +65,55 @@ * than the original ~/.dwm folder. * https://dwm.suckless.org/patches/autostart/ */ -#define AUTOSTART_PATCH 1 +#define AUTOSTART_PATCH 0 /* By default, windows that are not visible when requesting a resize/move will not * get resized/moved. With this patch, they will. * https://dwm.suckless.org/patches/autoresize/ */ -#define AUTORESIZE_PATCH 1 +#define AUTORESIZE_PATCH 0 /* Enhanced taskbar that shows the titles of all visible windows in the status bar * and allows focus / hiding / unhiding of windows by clicking on the status bar. * Awesomebar takes precedence over fancybar. * https://dwm.suckless.org/patches/awesomebar/ */ -#define AWESOMEBAR_PATCH 1 +#define AWESOMEBAR_PATCH 0 /* This patch adds an iscentered rule to automatically center clients on the current monitor. * This patch takes precedence over centeredwindowname and fancybar patches. * https://dwm.suckless.org/patches/center/ */ -#define CENTER_PATCH 1 +#define CENTER_PATCH 0 /* This patch centers the WM_NAME of the currently selected window on the status bar. * Both fancybar and awesomebar patches take precedence over this patch. * https://dwm.suckless.org/patches/centeredwindowname/ */ -#define CENTEREDWINDOWNAME_PATCH 1 +#define CENTEREDWINDOWNAME_PATCH 0 /* This patch provides the ability to assign different weights to clients in their * respective stack in tiled layout. * https://dwm.suckless.org/patches/cfacts/ */ -#define CFACTS_PATCH 1 +#define CFACTS_PATCH 0 /* This patch allows color attributes to be set through the command line. * https://dwm.suckless.org/patches/cmdcustomize/ */ -#define CMDCUSTOMIZE 1 +#define CMDCUSTOMIZE 0 /* This patch tweaks the tagging interface so that you can select multiple tags for tag * or view by pressing all the right keys as a combo. For example to view tags 1 and 3, * hold MOD and then press and hold 1 and 3 together. * https://dwm.suckless.org/patches/combo/ */ -#define COMBO_PATCH 1 +#define COMBO_PATCH 0 /* The cyclelayouts patch lets you cycle through all your layouts. * https://dwm.suckless.org/patches/cyclelayouts/ */ -#define CYCLELAYOUTS_PATCH 1 +#define CYCLELAYOUTS_PATCH 0 /* This patch allows no tag at all to be selected. The result is that dwm will start with * no tag selected and when you start a client with no tag rule and no tag selected then @@ -127,7 +127,7 @@ * that request workspace information. For example polybar's xworkspaces module. * https://dwm.suckless.org/patches/ewmhtags/ */ -#define EWMHTAGS_PATCH 1 +#define EWMHTAGS_PATCH 0 /* This patch shows the titles of all visible windows in the status bar * (as opposed to showing only the selected one). @@ -142,7 +142,7 @@ * the right tag. * http://dwm.suckless.org/patches/focusadjacenttag/ */ -#define FOCUSADJACENTTAG_PATCH 1 +#define FOCUSADJACENTTAG_PATCH 0 /* Switch focus only by mouse click and not sloppy (focus follows mouse pointer). * https://dwm.suckless.org/patches/focusonclick/ @@ -154,25 +154,25 @@ * xdotool selectwindow -- set_window --urgency 1 * https://dwm.suckless.org/patches/focusurgent/ */ -#define FOCUSURGENT_PATCH 1 +#define FOCUSURGENT_PATCH 0 /* This patch allows a different border color to be chosen for floating windows. * https://dwm.suckless.org/patches/float_border_color/ */ -#define FLOAT_BORDER_COLOR_PATCH 1 +#define FLOAT_BORDER_COLOR_PATCH 0 /* By default, dwm responds to _NET_ACTIVE_WINDOW client messages by setting * the urgency bit on the named window. This patch activates the window instead. * https://dwm.suckless.org/patches/focusonnetactive/ */ -#define FOCUSONNETACTIVE_PATCH 1 +#define FOCUSONNETACTIVE_PATCH 0 /* Applies the monocle layout with the focused client on top and hides the bar. When pressed * again it shows the bar and restores the layout that was active before going fullscreen. * NB: This patch assumes that the third layout is monocle and that the bar is shown. * https://dwm.suckless.org/patches/fullscreen/ */ -#define FULLSCREEN_PATCH 1 +#define FULLSCREEN_PATCH 0 /* This patch prevents dwm from drawing tags with no clients (i.e. vacant) on the bar. * https://dwm.suckless.org/patches/hide_vacant_tags/ @@ -188,7 +188,7 @@ /* This patch adds a keybinding to kills all visible clients that are not selected. * https://dwm.suckless.org/patches/killunsel/ */ -#define KILLUNSEL_PATCH 1 +#define KILLUNSEL_PATCH 0 /* Moves the layout symbol in the status bar to the left hand side. * http://dwm.suckless.org/patches/leftlayout/ @@ -202,13 +202,13 @@ * in such scenarios the previous window loses fullscreen. * https://github.com/bakkeby/dwm-vanitygaps/blob/master/patches/dwm-losefullscreen-6.2.diff */ -#define LOSEFULLSCREEN_PATCH 1 +#define LOSEFULLSCREEN_PATCH 0 /* This patch adds helper functions for maximizing, horizontally and vertically, floating * windows using keybindings. * https://dwm.suckless.org/patches/maximize/ */ -#define MAXIMIZE_PATCH 1 +#define MAXIMIZE_PATCH 0 /* Adds rules per monitor, e.g. have default layouts per monitor. * The use case for this is if the second monitor is vertical (i.e. rotated) then @@ -216,23 +216,23 @@ * used for the main monitor. E.g. normal vertical split for main monitor and * horizontal split for the second. */ -#define MONITOR_RULES_PATCH 1 +#define MONITOR_RULES_PATCH 0 /* Always display the the monocle-symbol as defined in config.h if the monocle-layout * is activated. Do not display the number of open clients in the current tag. * https://dwm.suckless.org/patches/monoclesymbol/ */ -#define MONOCLESYMBOL_PATCH 1 +#define MONOCLESYMBOL_PATCH 0 /* This patch allows you to move clients around in the stack and swap them with the master. * https://dwm.suckless.org/patches/movestack/ */ -#define MOVESTACK_PATCH 1 +#define MOVESTACK_PATCH 0 /* Removes the border when there is only one window visible. * https://dwm.suckless.org/patches/noborder/ */ -#define NOBORDER_PATCH 1 +#define NOBORDER_PATCH 0 /* This patch makes it so dwm will only exit via quit() if no windows are open. * This is to prevent you accidentally losing all your work. @@ -244,17 +244,17 @@ * monitor (default). * https://dwm.suckless.org/patches/pertag/ */ -#define PERTAG_PATCH 1 +#define PERTAG_PATCH 0 /* This controls whether or not to also store bar position on a per * tag basis, or leave it as one bar per monitor. */ -#define PERTAGBAR_PATCH 1 +#define PERTAGBAR_PATCH 0 /* This patch provides a way to move clients up and down inside the client list. * https://dwm.suckless.org/patches/push/ */ -#define PUSH_PATCH 1 +#define PUSH_PATCH 0 /* This patch provides a way to move clients up and down inside the client list, * but does not push up or down into the master area (except that it does not take @@ -268,60 +268,66 @@ * patch the mouse is warped to the nearest corner and you resize from there. * https://dwm.suckless.org/patches/resizecorners/ */ -#define RESIZECORNERS_PATCH 1 +#define RESIZECORNERS_PATCH 0 /* Adds a keyboard shortcut to restart dwm or alternatively by using kill -HUP dwmpid. * Additionally dwm can quit cleanly by using kill -TERM dwmpid. * https://dwm.suckless.org/patches/restartsig/ */ -#define RESTARTSIG_PATCH 1 +#define RESTARTSIG_PATCH 0 /* This patch let's you rotate through the stack using keyboard shortcuts. * https://dwm.suckless.org/patches/rotatestack/ */ -#define ROTATESTACK_PATCH 1 +#define ROTATESTACK_PATCH 0 /* This patch aves size and position of every floating window before it is forced * into tiled mode. If the window is made floating again then the old dimensions * will be restored. * https://dwm.suckless.org/patches/save_floats/ */ -#define SAVEFLOATS_PATCH 1 +#define SAVEFLOATS_PATCH 0 /* Allows restarting dwm without the dependency of an external script. * https://dwm.suckless.org/patches/selfrestart/ */ -#define SELFRESTART_PATCH 1 +#define SELFRESTART_PATCH 0 /* This patch allows border pixels to be changed during runtime. * https://dwm.suckless.org/patches/setborderpx/ */ -#define SETBORDERPX_PATCH 1 +#define SETBORDERPX_PATCH 0 /* This patch draws and updates the statusbar on all monitors. * https://dwm.suckless.org/patches/statusallmons/ */ -#define STATUSALLMONS_PATCH 1 +#define STATUSALLMONS_PATCH 0 + +/* 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. + * https://dwm.suckless.org/patches/statuscolors/ + */ +#define STATUSCOLORS_PATCH 0 /* This patch adds configuration options for horizontal and vertical padding in the status bar. * https://dwm.suckless.org/patches/statuspadding/ */ -#define STATUSPADDING_PATCH 1 +#define STATUSPADDING_PATCH 0 /* Adds toggleable keyboard shortcut to make a client 'sticky', i.e. visible on all tags. * https://dwm.suckless.org/patches/sticky/ */ -#define STICKY_PATCH 1 +#define STICKY_PATCH 0 /* The systray patch adds systray for the status bar. * https://dwm.suckless.org/patches/systray/ */ -#define SYSTRAY_PATCH 1 +#define SYSTRAY_PATCH 0 /* Switch focus between the master and stack columns using a single keybinding. * https://dwm.suckless.org/patches/switchcol/ */ -#define SWITCHCOL_PATCH 1 +#define SWITCHCOL_PATCH 0 /* By default dwm allow you to set application specific rules so that you can have your browser, * for example, start up on tag 9 optionally on a given monitor when you open your browser it is @@ -334,17 +340,17 @@ * * https://github.com/bakkeby/dwm-vanitygaps/blob/master/patches/dwm-switchtag-6.2.diff */ -#define SWITCHTAG_PATCH 1 +#define SWITCHTAG_PATCH 0 /* Adds keyboard shortcuts to move all (or only floating) windows from one tag to another. * https://dwm.suckless.org/patches/tagall/ */ -#define TAGALL_PATCH 1 +#define TAGALL_PATCH 0 /* This patch allows you to move all visible windows on a monitor to an adjacent monitor. * https://github.com/bakkeby/dwm-vanitygaps/blob/master/patches/dwm-tagallmon-6.2.diff */ -#define TAGALLMON_PATCH 1 +#define TAGALLMON_PATCH 0 /* This patch adds an option to place tags in rows like in many other window managers. * https://dwm.suckless.org/patches/taggrid/ @@ -357,7 +363,7 @@ * takes precedence over the onemaster tagintostack patch. * https://dwm.suckless.org/patches/tagintostack/ */ -#define TAGINTOSTACK_ALLMASTER_PATCH 1 +#define TAGINTOSTACK_ALLMASTER_PATCH 0 /* This patch makes new clients attach into the stack area when you toggle a new tag into * view. This means your master area will remain unchanged when toggling views. @@ -373,41 +379,41 @@ * while remaining in fullscreen. * https://github.com/bakkeby/dwm-vanitygaps/blob/master/patches/dwm-tagmonfixfs-6.2.diff */ -#define TAGMONFIXFS_PATCH 1 +#define TAGMONFIXFS_PATCH 0 /* This patch allows you to swap all visible windows on one monitor with those of an * adjacent monitor. * https://github.com/bakkeby/dwm-vanitygaps/blob/master/patches/dwm-tagswapmon-6.2.diff */ -#define TAGSWAPMON_PATCH 1 +#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 1 +#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 */ -#define TOGGLEFULLSCREEN_PATCH 1 +#define TOGGLEFULLSCREEN_PATCH 0 /* This patch resets isfloating on any visible windows that have it set. * Optionally also applies a layout. * https://dwm.suckless.org/patches/unfloatvisible/ */ -#define UNFLOATVISIBLE_PATCH 1 +#define UNFLOATVISIBLE_PATCH 0 /* This patch makes "urgent" windows have different colors. * https://dwm.suckless.org/patches/urgentborder/ */ -#define URGENTBORDER_PATCH 1 +#define URGENTBORDER_PATCH 0 /* This patch adds configurable gaps between windows differentiating between outer, inner, * horizontal and vertical gaps. * https://github.com/bakkeby/dwm-vanitygaps/blob/master/patches/dwm-vanitygaps-6.2.diff * https://github.com/bakkeby/dwm-vanitygaps/blob/master/patches/dwm-vanitygaps-cfacts-6.2.diff */ -#define VANITYGAPS_PATCH 1 +#define VANITYGAPS_PATCH 0 /* Follow a window to the tag it is being moved to. * https://dwm.suckless.org/patches/viewontag/ @@ -427,25 +433,25 @@ * or Google-chrome "browser" vs "pop-up". * https://github.com/bakkeby/dwm-vanitygaps/blob/master/patches/dwm-windowrolerule-6.2.diff */ -#define WINDOWROLERULE_PATCH 1 +#define WINDOWROLERULE_PATCH 0 /* The winview patch allows switching the view to that of a given client from the all-window * view (Mod-0) using a keyboard shortcut. * http://dwm.suckless.org/patches/winview/ */ -#define WINVIEW_PATCH 1 +#define WINVIEW_PATCH 0 /* Allows dwm to read colors from xrdb (.Xresources) during runtime. Compatible with * the float border color, awesomebar, urgentborder and titlecolor patches. * https://dwm.suckless.org/patches/xrdb/ */ -#define XRDB_PATCH 1 +#define XRDB_PATCH 0 /* The zoomswap patch allows a master and a stack window to swap places * rather than every window on the screen changing position. * https://dwm.suckless.org/patches/zoomswap/ */ -#define ZOOMSWAP_PATCH 1 +#define ZOOMSWAP_PATCH 0 /* Layouts */ @@ -488,7 +494,7 @@ * A revamped, more flexible, and over-the-top version of the original flextile layout. * https://dwm.suckless.org/patches/flextile/ (original) */ -#define FLEXTILE_DELUXE_LAYOUT 1 +#define FLEXTILE_DELUXE_LAYOUT 0 /* Gappless grid layout. * https://dwm.suckless.org/patches/gaplessgrid/ @@ -513,9 +519,9 @@ /* The default tile layout. * This can be optionally disabled in favour of other layouts. */ -#define TILE_LAYOUT 0 +#define TILE_LAYOUT 1 /* Monocle layout (default). * This can be optionally disabled in favour of other layouts. */ -#define MONOCLE_LAYOUT 0 +#define MONOCLE_LAYOUT 1