From 36afe4ef33811a725c354ed0284bb14779913e02 Mon Sep 17 00:00:00 2001 From: odrling Date: Fri, 21 Oct 2022 15:29:08 +0200 Subject: [PATCH] x11-terms/st: update patch --- x11-terms/st/files/odrling.patch | 1881 +++++++++--------------------- 1 file changed, 568 insertions(+), 1313 deletions(-) diff --git a/x11-terms/st/files/odrling.patch b/x11-terms/st/files/odrling.patch index 0d082eb..e9af307 100644 --- a/x11-terms/st/files/odrling.patch +++ b/x11-terms/st/files/odrling.patch @@ -1,1459 +1,714 @@ -From f1c3454bef1369d6cf5fa1988f1549025c91dccb Mon Sep 17 00:00:00 2001 +From ca00c65ed876ad4b7267290441fa6c82142b55df Mon Sep 17 00:00:00 2001 From: odrling -Date: Sat, 27 Mar 2021 18:56:05 +0100 -Subject: [PATCH 01/28] set up my patches and config +Date: Sun, 7 Mar 2021 16:12:13 +0100 +Subject: [PATCH 01/15] move config to st-flexipatch --- - config.def.h | 120 +++++++++++++++++++++++++++++--------------------- - patches.def.h | 50 ++++++++++----------- - 2 files changed, 95 insertions(+), 75 deletions(-) + config.def.h | 59 +++++++++++++++++++++++---------------------------- + patches.def.h | 14 ++++++------ + 2 files changed, 34 insertions(+), 39 deletions(-) diff --git a/config.def.h b/config.def.h -index 1b06f0d..e7dd706 100644 +index ff6b5b3..8dc318b 100644 --- a/config.def.h +++ b/config.def.h -@@ -144,11 +144,11 @@ static void (*bartabmonfns[])(Monitor *) = { NULL /* , customlayoutfn */ }; - #endif // MONOCLE_LAYOUT - #endif // BAR_TABGROUPS_PATCH - #if BAR_PANGO_PATCH --static const char font[] = "monospace 10"; -+static const char font[] = "sans 12"; +@@ -5,7 +5,7 @@ + * + * font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html + */ +-static char *font = "Liberation Mono:pixelsize=12:antialias=true:autohint=true"; ++static char *font = "monospace:pixelsize=14:antialias=true:autohint=true"; + #if FONT2_PATCH + /* Spare fonts */ + static char *font2[] = { +@@ -116,11 +116,11 @@ static unsigned int cursorthickness = 2; + * Bold affects lines thickness if boxdraw_bold is not 0. Italic is ignored. + * 0: disable (render all U25XX glyphs normally from the font). + */ +-const int boxdraw = 0; ++const int boxdraw = 1; + const int boxdraw_bold = 0; + + /* braille (U28XX): 1: render as adjacent "pixels", 0: use font */ +-const int boxdraw_braille = 0; ++const int boxdraw_braille = 1; + #endif // BOXDRAW_PATCH + + /* +@@ -164,32 +164,32 @@ float alphaUnfocused = 0.6; + /* Terminal colors (16 first used in escape sequence) */ + static const char *colorname[] = { + /* 8 normal colors */ +- "black", +- "red3", +- "green3", +- "yellow3", +- "blue2", +- "magenta3", +- "cyan3", +- "gray90", ++ "#403E41", ++ "#FF6188", ++ "#A9DC76", ++ "#FFD876", ++ "#FC9867", ++ "#AB9DF2", ++ "#78DCE8", ++ "#FCFCFA", + + /* 8 bright colors */ +- "gray50", +- "red", +- "green", +- "yellow", +- "#5c5cff", +- "magenta", +- "cyan", +- "white", ++ "#727072", ++ "#FF6188", ++ "#A9DC76", ++ "#FFD866", ++ "#FC9867", ++ "#AB9DF2", ++ "#78DCE8", ++ "#FCFCFA", + + [255] = 0, + + /* more colors can be added after 255 to use with DefaultXX */ +- "#add8e6", /* 256 -> cursor */ +- "#555555", /* 257 -> rev cursor*/ +- "#000000", /* 258 -> bg */ +- "#e5e5e5", /* 259 -> fg */ ++ "#cccccc", ++ "#555555", ++ "black", ++ "#222222" + }; + + +@@ -197,13 +197,8 @@ static const char *colorname[] = { + * Default colors (colorname index) + * foreground, background, cursor, reverse cursor + */ +-#if ALPHA_PATCH && ALPHA_FOCUS_HIGHLIGHT_PATCH +-unsigned int defaultbg = 0; +-unsigned int bg = 17, bgUnfocused = 16; +-#else +-unsigned int defaultbg = 258; +-#endif // ALPHA_FOCUS_HIGHLIGHT_PATCH +-unsigned int defaultfg = 259; ++unsigned int defaultfg = 7; ++unsigned int defaultbg = 259; + unsigned int defaultcs = 256; + unsigned int defaultrcs = 257; + +@@ -239,7 +234,7 @@ Glyph style[] = {{' ',ATTR_ITALIC|ATTR_FAINT,15,16}, {' ',ATTR_ITALIC,232,11}, + * 7: Blinking st cursor + * 8: Steady st cursor + */ +-static unsigned int cursorstyle = 1; ++static unsigned int cursorstyle = 4; + static Rune stcursor = 0x2603; /* snowman (U+2603) */ #else --static const char *fonts[] = { "monospace:size=10" }; -+static const char *fonts[] = { "sans:size=12" }; - #endif // BAR_PANGO_PATCH --static const char dmenufont[] = "monospace:size=10"; -+static const char dmenufont[] = "sans:size=12"; + /* +@@ -249,7 +244,7 @@ static Rune stcursor = 0x2603; /* snowman (U+2603) */ + * 6: Bar ("|") + * 7: Snowman ("☃") + */ +-static unsigned int cursorshape = 2; ++static unsigned int cursorshape = 4; + #endif // BLINKING_CURSOR_PATCH - static char c000000[] = "#000000"; // placeholder value - -@@ -158,9 +158,9 @@ static char normbordercolor[] = "#444444"; - static char normfloatcolor[] = "#db8fd9"; - - static char selfgcolor[] = "#eeeeee"; --static char selbgcolor[] = "#005577"; --static char selbordercolor[] = "#005577"; --static char selfloatcolor[] = "#005577"; -+static char selbgcolor[] = "#9966cc"; -+static char selbordercolor[] = "#9966cc"; -+static char selfloatcolor[] = "#9966cc"; - - static char titlenormfgcolor[] = "#bbbbbb"; - static char titlenormbgcolor[] = "#222222"; -@@ -168,9 +168,9 @@ static char titlenormbordercolor[] = "#444444"; - static char titlenormfloatcolor[] = "#db8fd9"; - - static char titleselfgcolor[] = "#eeeeee"; --static char titleselbgcolor[] = "#005577"; --static char titleselbordercolor[] = "#005577"; --static char titleselfloatcolor[] = "#005577"; -+static char titleselbgcolor[] = "#9966cc"; -+static char titleselbordercolor[] = "#9966cc"; -+static char titleselfloatcolor[] = "#9966cc"; - - static char tagsnormfgcolor[] = "#bbbbbb"; - static char tagsnormbgcolor[] = "#222222"; -@@ -178,14 +178,14 @@ static char tagsnormbordercolor[] = "#444444"; - static char tagsnormfloatcolor[] = "#db8fd9"; - - static char tagsselfgcolor[] = "#eeeeee"; --static char tagsselbgcolor[] = "#005577"; --static char tagsselbordercolor[] = "#005577"; --static char tagsselfloatcolor[] = "#005577"; -+static char tagsselbgcolor[] = "#9966cc"; -+static char tagsselbordercolor[] = "#9966cc"; -+static char tagsselfloatcolor[] = "#9966cc"; - --static char hidnormfgcolor[] = "#005577"; --static char hidselfgcolor[] = "#227799"; --static char hidnormbgcolor[] = "#222222"; --static char hidselbgcolor[] = "#222222"; -+static char hidnormfgcolor[] = "#9966cc"; -+static char hidselfgcolor[] = "#222222"; -+static char hidnormbgcolor[] = "#9966cc"; -+static char hidselbgcolor[] = "#f76e0c"; - - static char urgfgcolor[] = "#bbbbbb"; - static char urgbgcolor[] = "#222222"; -@@ -385,7 +385,7 @@ static const char *layoutmenu_cmd = "layoutmenu.sh"; - - #if COOL_AUTOSTART_PATCH - static const char *const autostart[] = { -- "st", NULL, -+ "dwmblocks", NULL, - NULL /* terminate */ - }; - #endif // COOL_AUTOSTART_PATCH -@@ -481,11 +481,10 @@ static const Rule rules[] = { - RULE(.wintype = WTYPE "UTILITY", .isfloating = 1) - RULE(.wintype = WTYPE "TOOLBAR", .isfloating = 1) - RULE(.wintype = WTYPE "SPLASH", .isfloating = 1) -- RULE(.class = "Gimp", .tags = 1 << 4) -- RULE(.class = "Firefox", .tags = 1 << 7) -- #if RENAMED_SCRATCHPADS_PATCH -- RULE(.instance = "spterm", .scratchkey = 's', .isfloating = 1) -- #elif SCRATCHPADS_PATCH -+ RULE(.class = "Firefox", .tags = 1 << 7, .switchtag = 2) -+ RULE(.class = "Ardour", .tags = 1 << 8) -+ RULE(.class = "mpv", .instance = "syncplay-mpv", .monitor = 1) -+ #if SCRATCHPADS_PATCH - RULE(.instance = "spterm", .tags = SPTAG(0), .isfloating = 1) - #endif // SCRATCHPADS_PATCH - }; -@@ -639,13 +638,13 @@ static const int scrollargs[][2] = { - static const Layout layouts[] = { - /* symbol arrange function, { nmaster, nstack, layout, master axis, stack axis, secondary stack axis, symbol func } */ - { "[]=", flextile, { -1, -1, SPLIT_VERTICAL, TOP_TO_BOTTOM, TOP_TO_BOTTOM, 0, NULL } }, // default tile layout -- { "><>", NULL, {0} }, /* no layout function means floating behavior */ - { "[M]", flextile, { -1, -1, NO_SPLIT, MONOCLE, MONOCLE, 0, NULL } }, // monocle -- { "|||", flextile, { -1, -1, SPLIT_VERTICAL, LEFT_TO_RIGHT, TOP_TO_BOTTOM, 0, NULL } }, // columns (col) layout -- { ">M>", flextile, { -1, -1, FLOATING_MASTER, LEFT_TO_RIGHT, LEFT_TO_RIGHT, 0, NULL } }, // floating master -- { "[D]", flextile, { -1, -1, SPLIT_VERTICAL, TOP_TO_BOTTOM, MONOCLE, 0, NULL } }, // deck - { "TTT", flextile, { -1, -1, SPLIT_HORIZONTAL, LEFT_TO_RIGHT, LEFT_TO_RIGHT, 0, NULL } }, // bstack -- { "===", flextile, { -1, -1, SPLIT_HORIZONTAL, LEFT_TO_RIGHT, TOP_TO_BOTTOM, 0, NULL } }, // bstackhoriz -+ // { "><>", NULL, {0} }, /* no layout function means floating behavior */ -+ // { "|||", flextile, { -1, -1, SPLIT_VERTICAL, LEFT_TO_RIGHT, TOP_TO_BOTTOM, 0, NULL } }, // columns (col) layout -+ // { ">M>", flextile, { -1, -1, FLOATING_MASTER, LEFT_TO_RIGHT, LEFT_TO_RIGHT, 0, NULL } }, // floating master -+ { "[D]", flextile, { -1, -1, SPLIT_VERTICAL, TOP_TO_BOTTOM, MONOCLE, 0, NULL } }, // deck -+ // { "===", flextile, { -1, -1, SPLIT_HORIZONTAL, LEFT_TO_RIGHT, TOP_TO_BOTTOM, 0, NULL } }, // bstackhoriz - { "|M|", flextile, { -1, -1, SPLIT_CENTERED_VERTICAL, LEFT_TO_RIGHT, TOP_TO_BOTTOM, TOP_TO_BOTTOM, NULL } }, // centeredmaster - { "-M-", flextile, { -1, -1, SPLIT_CENTERED_HORIZONTAL, TOP_TO_BOTTOM, LEFT_TO_RIGHT, LEFT_TO_RIGHT, NULL } }, // centeredmaster horiz - { ":::", flextile, { -1, -1, NO_SPLIT, GAPPLESSGRID, GAPPLESSGRID, 0, NULL } }, // gappless grid -@@ -704,7 +703,7 @@ static const Layout layouts[] = { - #if TILE_LAYOUT - { "[]=", tile }, /* first entry is default */ - #endif -- { "><>", NULL }, /* no layout function means floating behavior */ -+ // { "><>", NULL }, /* no layout function means floating behavior */ - #if MONOCLE_LAYOUT - { "[M]", monocle }, - #endif -@@ -759,7 +758,7 @@ static const char *xkb_layouts[] = { - #endif // XKB_PATCH - - /* key definitions */ --#define MODKEY Mod1Mask -+#define MODKEY Mod4Mask - #if COMBO_PATCH && SWAPTAGS_PATCH && TAGOTHERMONITOR_PATCH - #define TAGKEYS(KEY,TAG) \ - { MODKEY, KEY, comboview, {.ui = 1 << TAG} }, \ -@@ -854,6 +853,10 @@ static const char *dmenucmd[] = { - NULL - }; - static const char *termcmd[] = { "st", NULL }; -+static const char *passmenucmd[] = { "passmenu", "-m", dmenumon, NULL }; -+static const char *webmenucmd[] = { "webmenu", "-m", dmenumon, NULL }; -+static const char *screenshot[] = { "screenshot", NULL }; -+static const char *screenshots[] = { "screenshot", "-s", "-l", "-c", "0.75,0.5,1.0,0.1", NULL }; - - #if BAR_STATUSCMD_PATCH - #if BAR_DWMBLOCKS_PATCH -@@ -884,7 +887,7 @@ static const Key keys[] = { - #if KEYMODES_PATCH - { MODKEY, XK_Escape, setkeymode, {.ui = COMMANDMODE} }, - #endif // KEYMODES_PATCH -- { MODKEY, XK_p, spawn, {.v = dmenucmd } }, -+ { MODKEY, XK_o, spawn, {.v = dmenucmd } }, - { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, - #if RIODRAW_PATCH - { MODKEY|ControlMask, XK_p, riospawnsync, {.v = dmenucmd } }, -@@ -1024,14 +1027,14 @@ static const Key keys[] = { - #if BAR_WINTITLEACTIONS_PATCH - { MODKEY|ControlMask, XK_z, showhideclient, {0} }, - #endif // BAR_WINTITLEACTIONS_PATCH -- { MODKEY|ShiftMask, XK_c, killclient, {0} }, -+ { MODKEY, XK_q, killclient, {0} }, - #if KILLUNSEL_PATCH - { MODKEY|ShiftMask, XK_x, killunsel, {0} }, - #endif // KILLUNSEL_PATCH - #if SELFRESTART_PATCH - { MODKEY|ShiftMask, XK_r, self_restart, {0} }, - #endif // SELFRESTART_PATCH -- { MODKEY|ShiftMask, XK_q, quit, {0} }, -+ // { MODKEY|ShiftMask, XK_q, quit, {0} }, - #if RESTARTSIG_PATCH - { MODKEY|ControlMask|ShiftMask, XK_q, quit, {1} }, - #endif // RESTARTSIG_PATCH -@@ -1047,9 +1050,9 @@ static const Key keys[] = { - #if XRDB_PATCH && !BAR_VTCOLORS_PATCH - { MODKEY|ShiftMask, XK_F5, xrdb, {.v = NULL } }, - #endif // XRDB_PATCH -- { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, -- { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, -- { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, -+ { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, // tile -+ { MODKEY, XK_u, setlayout, {.v = &layouts[1]} }, // monocle -+ { MODKEY, XK_y, setlayout, {.v = &layouts[2]} }, // bstack - #if COLUMNS_LAYOUT - { MODKEY, XK_c, setlayout, {.v = &layouts[3]} }, - #endif // COLUMNS_LAYOUT -@@ -1112,10 +1115,10 @@ static const Key keys[] = { - { MODKEY, XK_0, view, {.ui = ~0 } }, - { MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } }, - #endif // SCRATCHPAD_ALT_1_PATCH -- { MODKEY, XK_comma, focusmon, {.i = -1 } }, -- { MODKEY, XK_period, focusmon, {.i = +1 } }, -- { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } }, -- { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } }, -+ { MODKEY|ControlMask, XK_j, focusmon, {.i = -1 } }, -+ { MODKEY|ControlMask, XK_k, focusmon, {.i = +1 } }, -+ { MODKEY|ShiftMask, XK_j, tagmon, {.i = -1 } }, -+ { MODKEY|ShiftMask, XK_k, tagmon, {.i = +1 } }, - #if FOCUSADJACENTTAG_PATCH - { MODKEY, XK_Left, viewtoleft, {0} }, // note keybinding conflict with focusdir - { MODKEY, XK_Right, viewtoright, {0} }, // note keybinding conflict with focusdir -@@ -1255,23 +1258,40 @@ static const Key keys[] = { - { MODKEY|ControlMask, XK_numbersign, setborderpx, {.i = 0 } }, - #endif // SETBORDERPX_PATCH - #if CYCLELAYOUTS_PATCH -- { MODKEY|ControlMask, XK_comma, cyclelayout, {.i = -1 } }, -- { MODKEY|ControlMask, XK_period, cyclelayout, {.i = +1 } }, -+ { MODKEY|ShiftMask, XK_Tab, cyclelayout, {.i = -1 } }, -+ { MODKEY, XK_Tab, cyclelayout, {.i = +1 } }, - #endif // CYCLELAYOUTS_PATCH - #if MPDCONTROL_PATCH - { MODKEY, XK_F1, mpdchange, {.i = -1} }, - { MODKEY, XK_F2, mpdchange, {.i = +1} }, - { MODKEY, XK_Escape, mpdcontrol, {0} }, - #endif // MPDCONTROL_PATCH -- TAGKEYS( XK_1, 0) -- TAGKEYS( XK_2, 1) -- TAGKEYS( XK_3, 2) -- TAGKEYS( XK_4, 3) -- TAGKEYS( XK_5, 4) -- TAGKEYS( XK_6, 5) -- TAGKEYS( XK_7, 6) -- TAGKEYS( XK_8, 7) -- TAGKEYS( XK_9, 8) -+ TAGKEYS( XK_ampersand, 0) -+ TAGKEYS( XK_eacute, 1) -+ TAGKEYS( XK_quotedbl, 2) -+ TAGKEYS( XK_apostrophe, 3) -+ TAGKEYS( XK_parenleft, 4) -+ TAGKEYS( XK_minus, 5) -+ TAGKEYS( XK_egrave, 6) -+ TAGKEYS( XK_underscore, 7) -+ TAGKEYS( XK_ccedilla, 8) -+ { MODKEY, XK_Up, spawn, SHCMD("omixer +") }, -+ { MODKEY, XK_Down, spawn, SHCMD("omixer -") }, -+ { MODKEY, XK_Left, spawn, SHCMD("backlight - 5") }, -+ { MODKEY, XK_Right, spawn, SHCMD("backlight + 5") }, -+ { MODKEY|ShiftMask, XK_d, spawn, SHCMD("discord") }, -+ { MODKEY|ShiftMask, XK_f, spawn, SHCMD("firefox") }, -+ { MODKEY, XK_a, spawn, SHCMD("anime") }, -+ { MODKEY, XK_v, spawn, SHCMD("st -e vid") }, -+ { MODKEY, XK_n, spawn, SHCMD("st -e newsboat") }, -+ { MODKEY, XK_comma, spawn, SHCMD("st -e weechat") }, -+ { MODKEY, XK_z, spawn, SHCMD("shortmenu") }, -+ { MODKEY, XK_m, spawn, SHCMD("dmount") }, -+ { MODKEY|ShiftMask, XK_m, spawn, SHCMD("dumount") }, -+ { MODKEY, XK_p, spawn, {.v = passmenucmd } }, -+ { MODKEY, XK_g, spawn, {.v = webmenucmd } }, -+ { MODKEY, XK_s, spawn, {.v = screenshot } }, -+ { MODKEY|ShiftMask, XK_s, spawn, {.v = screenshots } }, - }; - - #if KEYMODES_PATCH + /* diff --git a/patches.def.h b/patches.def.h -index 784e324..b45e1c7 100644 +index 26ae7e6..2e79d14 100644 --- a/patches.def.h +++ b/patches.def.h -@@ -334,7 +334,7 @@ - * https://github.com/bakkeby/dwm-flexipatch/issues/50 (_IS_FLOATING patch) - * https://dwm.suckless.org/patches/ewmhtags/ +@@ -32,7 +32,7 @@ + /* This patch allows st to resize to any pixel size rather than snapping to character width/height. + * https://st.suckless.org/patches/anysize/ */ --#define BAR_EWMHTAGS_PATCH 0 -+#define BAR_EWMHTAGS_PATCH 1 +-#define ANYSIZE_PATCH 0 ++#define ANYSIZE_PATCH 1 - /* Allows the bar height to be explicitly set rather than being derived from font. - * https://dwm.suckless.org/patches/bar_height/ -@@ -344,7 +344,7 @@ - /* This patch prevents dwm from drawing tags with no clients (i.e. vacant) on the bar. - * https://dwm.suckless.org/patches/hide_vacant_tags/ + /* A simple variant of the anysize patch that only changes the resize hints to allow the window to + * be resized to any size. +@@ -68,7 +68,7 @@ + /* This patch adds custom rendering of lines/blocks/braille characters for gapless alignment. + * https://st.suckless.org/patches/boxdraw/ */ --#define BAR_HIDEVACANTTAGS_PATCH 0 -+#define BAR_HIDEVACANTTAGS_PATCH 1 +-#define BOXDRAW_PATCH 0 ++#define BOXDRAW_PATCH 1 - /* With this patch dwm's built-in status bar is only shown when HOLDKEY is pressed - * and the bar will now overlay the display. -@@ -488,7 +488,7 @@ - * get resized/moved. With this patch, they will. - * https://dwm.suckless.org/patches/autoresize/ + /* By default st only sets PRIMARY on selection. + * This patch makes st set CLIPBOARD on selection. +@@ -141,7 +141,7 @@ + /* This patch makes the cursor color the inverse of the current cell color. + * https://st.suckless.org/patches/dynamic-cursor-color/ */ --#define AUTORESIZE_PATCH 0 -+#define AUTORESIZE_PATCH 1 +-#define DYNAMIC_CURSOR_COLOR_PATCH 0 ++#define DYNAMIC_CURSOR_COLOR_PATCH 1 - /* This patch adds proper support for Right-To-Left languages. (such as Farsi, Arabic or Hebrew). - * -@@ -518,12 +518,12 @@ - * adding wintype as a client rule filter, hence this no longer works out of the box. This - * patch restores previous behaviour with the center patch. + /* Reading and writing st's screen through a pipe, e.g. pass info to dmenu. + * https://st.suckless.org/patches/externalpipe/ +@@ -272,7 +272,7 @@ + /* Scroll back through terminal output using Shift+{PageUp, PageDown}. + * https://st.suckless.org/patches/scrollback/ */ --#define CENTER_TRANSIENT_WINDOWS_PATCH 0 -+#define CENTER_TRANSIENT_WINDOWS_PATCH 1 +-#define SCROLLBACK_PATCH 0 ++#define SCROLLBACK_PATCH 1 - /* As above, except that the transient window is centered within the position of the parent - * window, rather than at the center of the screen. This takes precedence over the above patch. + /* Scroll back through terminal output using Shift+MouseWheel. + * This variant depends on SCROLLBACK_PATCH being enabled. +@@ -390,7 +390,7 @@ + /* Vertically center lines in the space available if you have set a larger chscale in config.h + * https://st.suckless.org/patches/vertcenter/ */ --#define CENTER_TRANSIENT_WINDOWS_BY_PARENT_PATCH 0 -+#define CENTER_TRANSIENT_WINDOWS_BY_PARENT_PATCH 1 +-#define VERTCENTER_PATCH 0 ++#define VERTCENTER_PATCH 1 - /* This patch provides the ability to assign different weights to clients in their - * respective stack in tiled layout. -@@ -541,18 +541,18 @@ - * hold MOD and then press and hold 1 and 3 together. - * https://dwm.suckless.org/patches/combo/ + /* The vim-browse patch offers the possibility to move through the terminal history-buffer, + * search for strings using VIM-like motions, operations and quantifiers. It overlays the +@@ -410,14 +410,14 @@ + /* Adds support for w3m images. + * https://st.suckless.org/patches/w3m/ */ --#define COMBO_PATCH 0 -+#define COMBO_PATCH 1 +-#define W3M_PATCH 0 ++#define W3M_PATCH 1 - /* Allow dwm to execute commands from autostart array in your config.h file. When dwm exits - * then all processes from autostart array will be killed. - * https://dwm.suckless.org/patches/cool_autostart/ + /* Adds proper glyphs rendering in st allowing wide glyphs to be drawn as-is as opposed to + * smaller or cut glyphs being rendered. + * https://github.com/Dreomite/st/commit/e3b821dcb3511d60341dec35ee05a4a0abfef7f2 + * https://www.reddit.com/r/suckless/comments/jt90ai/update_support_for_proper_glyph_rendering_in_st/ */ --#define COOL_AUTOSTART_PATCH 0 -+#define COOL_AUTOSTART_PATCH 1 +-#define WIDE_GLYPHS_PATCH 0 ++#define WIDE_GLYPHS_PATCH 1 - /* The cyclelayouts patch lets you cycle through all your layouts. - * https://dwm.suckless.org/patches/cyclelayouts/ - */ --#define CYCLELAYOUTS_PATCH 0 -+#define CYCLELAYOUTS_PATCH 1 - - /* Make dwm respect _MOTIF_WM_HINTS property, and not draw borders around windows requesting - * for it. Some applications use this property to notify window managers to not draw window -@@ -658,7 +658,7 @@ - * xdotool selectwindow -- set_window --urgency 1 - * https://dwm.suckless.org/patches/focusurgent/ - */ --#define FOCUSURGENT_PATCH 0 -+#define FOCUSURGENT_PATCH 1 - - /* 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. -@@ -703,7 +703,7 @@ - * https://github.com/mihirlad55/dwm-ipc - * https://dwm.suckless.org/patches/ipc/ - */ --#define IPC_PATCH 0 -+#define IPC_PATCH 1 - - /* Adds rule option for clients to avoid accidental termination by killclient for sticky windows. - * https://dwm.suckless.org/patches/ispermanent/ -@@ -734,7 +734,7 @@ - * in such scenarios the previous window loses fullscreen. - * https://github.com/bakkeby/patches/blob/master/dwm/dwm-losefullscreen-6.2.diff - */ --#define LOSEFULLSCREEN_PATCH 0 -+#define LOSEFULLSCREEN_PATCH 1 - - /* This patch adds helper functions for maximizing, horizontally and vertically, floating - * windows using keybindings. -@@ -812,12 +812,12 @@ - * Zoom video conferencing application. - * https://github.com/bakkeby/patches/wiki/netclientliststacking/ - */ --#define NET_CLIENT_LIST_STACKING_PATCH 0 -+#define NET_CLIENT_LIST_STACKING_PATCH 1 - - /* Removes the border when there is only one window visible. - * https://dwm.suckless.org/patches/noborder/ - */ --#define NOBORDER_PATCH 0 -+#define NOBORDER_PATCH 1 - - /* This patch allows for toggleable client button bindings that have no modifiers. - * This can, for example, allow you to move or resize using the mouse alone without holding -@@ -839,7 +839,7 @@ - * https://github.com/szatanjl/dwm/commit/1529909466206016f2101457bbf37c67195714c8 - * https://dwm.suckless.org/patches/alpha/dwm-fixborders-6.2.diff - */ --#define NO_TRANSPARENT_BORDERS_PATCH 0 -+#define NO_TRANSPARENT_BORDERS_PATCH 1 - - /* Port of InstantWM's on_empty_keys functionality allowing keybindings that apply only when - * a tag is empty. An example use case is being able to launch applications with first hand -@@ -927,7 +927,7 @@ - * This takes precedence over the resizecorners patch. - * https://github.com/bakkeby/patches/blob/master/dwm/dwm-resizepoint-6.2.diff - */ --#define RESIZEPOINT_PATCH 0 -+#define RESIZEPOINT_PATCH 1 - - /* Adds a keyboard shortcut to restart dwm or alternatively by using kill -HUP dwmpid. - * Additionally dwm can quit cleanly by using kill -TERM dwmpid. -@@ -1087,7 +1087,7 @@ - * comes to focusmon, tagmon and similar functionality. - * https://www.mail-archive.com/hackers@suckless.org/msg09400.html - */ --#define SORTSCREENS_PATCH 0 -+#define SORTSCREENS_PATCH 1 - - /* Spawns programs from currently focused client's working directory. - * https://dwm.suckless.org/patches/spawn_cwd/ -@@ -1113,12 +1113,12 @@ - * - * https://github.com/bakkeby/patches/wiki/steam - */ --#define STEAM_PATCH 0 -+#define STEAM_PATCH 1 - - /* Adds toggleable keyboard shortcut to make a client 'sticky', i.e. visible on all tags. - * https://dwm.suckless.org/patches/sticky/ - */ --#define STICKY_PATCH 0 -+#define STICKY_PATCH 1 - - /* This patch adds "window swallowing" to dwm as known from Plan 9's windowing system rio. - * Clients marked with isterminal in config.h swallow a window opened by any child process, -@@ -1135,7 +1135,7 @@ - * - * https://dwm.suckless.org/patches/swallow/ - */ --#define SWALLOW_PATCH 0 -+#define SWALLOW_PATCH 1 - - /* This patch depends on the pertag patch and makes it possible to switch focus with a single - * shortcut (MOD+s) instead of having to think if you should use mod-j or mod-k for reaching -@@ -1171,7 +1171,7 @@ - * https://github.com/bakkeby/patches/blob/master/dwm/dwm-switchtag-6.2.diff - * Also see https://dwm.suckless.org/patches/switchtotag - */ --#define SWITCHTAG_PATCH 0 -+#define SWITCHTAG_PATCH 1 - - /* This patch transforms the monocle layout into a "tabbed" layout if more than one window is - * present on the monocle view. This patch has been added for demonstration purposes only and has -@@ -1213,7 +1213,7 @@ - * while remaining in fullscreen. - * https://github.com/bakkeby/patches/blob/master/dwm/dwm-tagmonfixfs-6.2.diff - */ --#define TAGMONFIXFS_PATCH 0 -+#define TAGMONFIXFS_PATCH 1 - - /* Add functions and keybindings to tag a window to a desired tag on the next (right) - * or previous (left) monitor from the currently selected monitor. -@@ -1311,7 +1311,7 @@ - * when the mouse cursor is (a) on a different screen or (b) on top of a different window. - * https://dwm.suckless.org/patches/warp/ - */ --#define WARP_PATCH 0 -+#define WARP_PATCH 1 - - /* Sometimes a single application opens different windows depending on the task - * at hand and this is often reflected in the WM_WINDOW_ROLE(STRING) x property. -@@ -1339,7 +1339,7 @@ - * the float border color, awesomebar, urgentborder and titlecolor patches. - * https://dwm.suckless.org/patches/xrdb/ - */ --#define XRDB_PATCH 0 -+#define XRDB_PATCH 1 - - /* Simple patch that allows floating windows to be zoomed into the master stack position. - * https://www.reddit.com/r/suckless/comments/ie5fe3/zoomfloating_my_own_simple_original_patch/ -@@ -1401,7 +1401,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 0 -+#define FLEXTILE_DELUXE_LAYOUT 1 - - /* Gappless grid layout. - * https://dwm.suckless.org/patches/gaplessgrid/ -@@ -1426,7 +1426,7 @@ - /* The default tile layout. - * This can be optionally disabled in favour of other layouts. - */ --#define TILE_LAYOUT 1 -+#define TILE_LAYOUT 0 - - /* Monocle layout (default). - * This can be optionally disabled in favour of other layouts. + /* There is a known issue that Google's Variable Fonts (VF) can end up with letter spacing + * that is too wide in programs that use Xft, for example Inconsolata v3.000. -- -2.38.0 +2.38.1 -From 5ea89fb7f16d1b80fbbadb6bc21788d2e1ea914c Mon Sep 17 00:00:00 2001 +From cbfab5471aef3ed8606b1fba8890dd5651add7f5 Mon Sep 17 00:00:00 2001 From: odrling -Date: Sat, 27 Mar 2021 19:07:22 +0100 -Subject: [PATCH 02/28] set urgent color +Date: Thu, 25 Mar 2021 17:47:16 +0100 +Subject: [PATCH 02/15] disable dynamic colors --- - config.def.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/config.def.h b/config.def.h -index e7dd706..eb88fb3 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -187,9 +187,9 @@ static char hidselfgcolor[] = "#222222"; - static char hidnormbgcolor[] = "#9966cc"; - static char hidselbgcolor[] = "#f76e0c"; - --static char urgfgcolor[] = "#bbbbbb"; --static char urgbgcolor[] = "#222222"; --static char urgbordercolor[] = "#ff0000"; -+static char urgfgcolor[] = "#222222"; -+static char urgbgcolor[] = "#bbbbbb"; -+static char urgbordercolor[] = "#dddddd"; - static char urgfloatcolor[] = "#db8fd9"; - - #if RENAMED_SCRATCHPADS_PATCH --- -2.38.0 - - -From aaf33cf035755a15ce361dcf9df937703b9fcc7f Mon Sep 17 00:00:00 2001 -From: odrling -Date: Sun, 28 Mar 2021 20:22:05 +0200 -Subject: [PATCH 03/28] more config - ---- - config.def.h | 15 +++++++++------ - patches.def.h | 10 +++++----- - 2 files changed, 14 insertions(+), 11 deletions(-) - -diff --git a/config.def.h b/config.def.h -index eb88fb3..9782f5d 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -481,8 +481,9 @@ static const Rule rules[] = { - RULE(.wintype = WTYPE "UTILITY", .isfloating = 1) - RULE(.wintype = WTYPE "TOOLBAR", .isfloating = 1) - RULE(.wintype = WTYPE "SPLASH", .isfloating = 1) -- RULE(.class = "Firefox", .tags = 1 << 7, .switchtag = 2) -- RULE(.class = "Ardour", .tags = 1 << 8) -+ RULE(.class = "Firefox", .tags = 1 << 7, .switchtag = 1) -+ RULE(.class = "Ardour", .tags = 1 << 8, .monitor = 0) -+ RULE(.class = "qBittorrent", .tags = 1 << 6, .switchtag = 1, .monitor = 0) - RULE(.class = "mpv", .instance = "syncplay-mpv", .monitor = 1) - #if SCRATCHPADS_PATCH - RULE(.instance = "spterm", .tags = SPTAG(0), .isfloating = 1) -@@ -1102,7 +1103,7 @@ static const Key keys[] = { - { MODKEY|ShiftMask, XK_f, fullscreen, {0} }, - #endif // FULLSCREEN_PATCH - #if STICKY_PATCH -- { MODKEY|ShiftMask, XK_s, togglesticky, {0} }, -+ { MODKEY|ShiftMask, XK_t, togglesticky, {0} }, - #endif // STICKY_PATCH - #if SCRATCHPAD_ALT_1_PATCH - { MODKEY, XK_minus, scratchpad_show, {0} }, -@@ -1112,8 +1113,8 @@ static const Key keys[] = { - { MODKEY, XK_0, view, {.ui = ~SPTAGMASK } }, - { MODKEY|ShiftMask, XK_0, tag, {.ui = ~SPTAGMASK } }, - #else -- { MODKEY, XK_0, view, {.ui = ~0 } }, -- { MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } }, -+ { MODKEY, XK_agrave, view, {.ui = ~0 } }, -+ { MODKEY|ShiftMask, XK_agrave, tag, {.ui = ~0 } }, - #endif // SCRATCHPAD_ALT_1_PATCH - { MODKEY|ControlMask, XK_j, focusmon, {.i = -1 } }, - { MODKEY|ControlMask, XK_k, focusmon, {.i = +1 } }, -@@ -1580,7 +1581,9 @@ static const Signal signals[] = { - /* trigger signals using `xsetroot -name "fsignal:"` */ - static Signal signals[] = { - /* signum function argument */ -- { 1, setlayout, {.v = 0} }, -+ { 1, spawn, SHCMD("setaudio") }, -+ { 2, spawn, SHCMD("setoutput") }, -+ { 3, spawn, SHCMD("sethid") }, - }; - #endif // DWMC_PATCH - -diff --git a/patches.def.h b/patches.def.h -index b45e1c7..d583d86 100644 ---- a/patches.def.h -+++ b/patches.def.h -@@ -457,7 +457,7 @@ - * This patch takes precedence over ATTACHASIDE_PATCH. - * https://dwm.suckless.org/patches/attachabove/ - */ --#define ATTACHABOVE_PATCH 0 -+#define ATTACHABOVE_PATCH 1 - - /* This patch adds new clients on top of the stack. - * This patch takes precedence over ATTACHBELOW_PATCH. -@@ -664,14 +664,14 @@ - * the urgency bit on the named window. This patch activates the window instead. - * https://dwm.suckless.org/patches/focusonnetactive/ - */ --#define FOCUSONNETACTIVE_PATCH 0 -+#define FOCUSONNETACTIVE_PATCH 1 - - /* Send "fake signals" to dwm for handling, using xsetroot. This will not conflict with the - * status bar, which also is managed using xsetroot. - * Also see the dwmc patch, which takes precedence over this patch. - * https://dwm.suckless.org/patches/fsignal/ - */ --#define FSIGNAL_PATCH 0 -+#define FSIGNAL_PATCH 1 - - /* 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. -@@ -817,7 +817,7 @@ - /* 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 allows for toggleable client button bindings that have no modifiers. - * This can, for example, allow you to move or resize using the mouse alone without holding -@@ -863,7 +863,7 @@ - * monitor (default). - * https://dwm.suckless.org/patches/pertag/ - */ --#define PERTAG_PATCH 0 -+#define PERTAG_PATCH 1 - - /* Option to store gaps on a per tag basis rather than on a per monitor basis. - * Depends on both pertag and vanitygaps patches being enabled. --- -2.38.0 - - -From 193c3628efcf3a002834a7a11db7ac22de0b90bc Mon Sep 17 00:00:00 2001 -From: odrling -Date: Thu, 1 Apr 2021 20:27:49 +0200 -Subject: [PATCH 04/28] edit cyclelayout keybinding - ---- - config.def.h | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/config.def.h b/config.def.h -index 9782f5d..f91df7c 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -1068,8 +1068,8 @@ static const Key keys[] = { - { MODKEY|Mod5Mask|Mod1Mask, XK_Tab, rotatelayoutaxis, {.i = -4 } }, /* flextile, 4 = secondary stack axis */ - { MODKEY|ControlMask, XK_Return, mirrorlayout, {0} }, /* flextile, flip master and stack areas */ - #endif // FLEXTILE_DELUXE_LAYOUT -- { MODKEY, XK_space, setlayout, {0} }, -- { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, -+ //{ MODKEY, XK_space, setlayout, {0} }, -+ { MODKEY|ControlMask, XK_space, togglefloating, {0} }, - #if MAXIMIZE_PATCH - { MODKEY|ControlMask|ShiftMask, XK_h, togglehorizontalmax, {0} }, - { MODKEY|ControlMask|ShiftMask, XK_l, togglehorizontalmax, {0} }, -@@ -1259,8 +1259,8 @@ static const Key keys[] = { - { MODKEY|ControlMask, XK_numbersign, setborderpx, {.i = 0 } }, - #endif // SETBORDERPX_PATCH - #if CYCLELAYOUTS_PATCH -- { MODKEY|ShiftMask, XK_Tab, cyclelayout, {.i = -1 } }, -- { MODKEY, XK_Tab, cyclelayout, {.i = +1 } }, -+ { MODKEY|ShiftMask, XK_space, cyclelayout, {.i = -1 } }, -+ { MODKEY, XK_space, cyclelayout, {.i = +1 } }, - #endif // CYCLELAYOUTS_PATCH - #if MPDCONTROL_PATCH - { MODKEY, XK_F1, mpdchange, {.i = -1} }, --- -2.38.0 - - -From 71dd486d38b5ad350aa10bb10d2b6e7cf02ceece Mon Sep 17 00:00:00 2001 -From: odrling -Date: Wed, 21 Apr 2021 23:19:07 +0200 -Subject: [PATCH 05/28] I don't think this argument is required - ---- - config.def.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/config.def.h b/config.def.h -index f91df7c..1c701f2 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -854,8 +854,8 @@ static const char *dmenucmd[] = { - NULL - }; - static const char *termcmd[] = { "st", NULL }; --static const char *passmenucmd[] = { "passmenu", "-m", dmenumon, NULL }; --static const char *webmenucmd[] = { "webmenu", "-m", dmenumon, NULL }; -+static const char *passmenucmd[] = { "passmenu", NULL }; -+static const char *webmenucmd[] = { "webmenu", NULL }; - static const char *screenshot[] = { "screenshot", NULL }; - static const char *screenshots[] = { "screenshot", "-s", "-l", "-c", "0.75,0.5,1.0,0.1", NULL }; - --- -2.38.0 - - -From bec2c901c11eff41d2cb328416f2dec349f92064 Mon Sep 17 00:00:00 2001 -From: odrling -Date: Wed, 21 Apr 2021 23:36:07 +0200 -Subject: [PATCH 06/28] decomment libraries used by enabled patches - ---- - config.mk | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/config.mk b/config.mk -index eb1f2cf..cc78efb 100644 ---- a/config.mk -+++ b/config.mk -@@ -39,14 +39,14 @@ FREETYPEINC = /usr/include/freetype2 - #PANGOLIB = `pkg-config --libs xft pango pangoxft` - - # Uncomment for the ipc patch / IPC_PATCH --#YAJLLIBS = -lyajl --#YAJLINC = -I/usr/include/yajl -+YAJLLIBS = -lyajl -+YAJLINC = -I/usr/include/yajl - - # Uncomment this for the rounded corners patch / ROUNDED_CORNERS_PATCH - #XEXTLIB = -lXext - - # Uncomment this for the swallow patch / SWALLOW_PATCH --#XCBLIBS = -lX11-xcb -lxcb -lxcb-res -+XCBLIBS = -lX11-xcb -lxcb -lxcb-res - - # This is needed for the winicon and tagpreview patches / BAR_WINICON_PATCH / BAR_TAGPREVIEW_PATCH - #IMLIB2LIBS = -lImlib2 --- -2.38.0 - - -From 8040eec0152986241ae358e998d177a9fd69ce43 Mon Sep 17 00:00:00 2001 -From: odrling -Date: Sat, 24 Apr 2021 15:02:45 +0200 -Subject: [PATCH 07/28] runsvdir on startup - ---- - config.def.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/config.def.h b/config.def.h -index 1c701f2..7aed2be 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -386,6 +386,7 @@ static const char *layoutmenu_cmd = "layoutmenu.sh"; - #if COOL_AUTOSTART_PATCH - static const char *const autostart[] = { - "dwmblocks", NULL, -+ "sh", "-c", "runsvdir $HOME/.sv", NULL, - NULL /* terminate */ - }; - #endif // COOL_AUTOSTART_PATCH --- -2.38.0 - - -From ce294baec2440bbf762a053d307e6ab704990a37 Mon Sep 17 00:00:00 2001 -From: odrling -Date: Fri, 14 May 2021 19:58:33 +0200 -Subject: [PATCH 08/28] browser config - ---- - config.def.h | 3 ++- patches.def.h | 2 +- - 2 files changed, 3 insertions(+), 2 deletions(-) + 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/config.def.h b/config.def.h -index 7aed2be..860dbdd 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -483,6 +483,7 @@ static const Rule rules[] = { - RULE(.wintype = WTYPE "TOOLBAR", .isfloating = 1) - RULE(.wintype = WTYPE "SPLASH", .isfloating = 1) - RULE(.class = "Firefox", .tags = 1 << 7, .switchtag = 1) -+ RULE(.role = "browser", .tags = 1 << 7, .switchtag = 1) - RULE(.class = "Ardour", .tags = 1 << 8, .monitor = 0) - RULE(.class = "qBittorrent", .tags = 1 << 6, .switchtag = 1, .monitor = 0) - RULE(.class = "mpv", .instance = "syncplay-mpv", .monitor = 1) -@@ -1282,7 +1283,7 @@ static const Key keys[] = { - { MODKEY, XK_Left, spawn, SHCMD("backlight - 5") }, - { MODKEY, XK_Right, spawn, SHCMD("backlight + 5") }, - { MODKEY|ShiftMask, XK_d, spawn, SHCMD("discord") }, -- { MODKEY|ShiftMask, XK_f, spawn, SHCMD("firefox") }, -+ { MODKEY|ShiftMask, XK_f, spawn, SHCMD("browser") }, - { MODKEY, XK_a, spawn, SHCMD("anime") }, - { MODKEY, XK_v, spawn, SHCMD("st -e vid") }, - { MODKEY, XK_n, spawn, SHCMD("st -e newsboat") }, diff --git a/patches.def.h b/patches.def.h -index d583d86..7c2e2c7 100644 +index 2e79d14..3457532 100644 --- a/patches.def.h +++ b/patches.def.h -@@ -1320,7 +1320,7 @@ - * or Google-chrome "browser" vs "pop-up". - * https://github.com/bakkeby/patches/blob/master/dwm/dwm-windowrolerule-6.2.diff +@@ -141,7 +141,7 @@ + /* This patch makes the cursor color the inverse of the current cell color. + * https://st.suckless.org/patches/dynamic-cursor-color/ */ --#define WINDOWROLERULE_PATCH 0 -+#define WINDOWROLERULE_PATCH 1 +-#define DYNAMIC_CURSOR_COLOR_PATCH 1 ++#define DYNAMIC_CURSOR_COLOR_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. + /* Reading and writing st's screen through a pipe, e.g. pass info to dmenu. + * https://st.suckless.org/patches/externalpipe/ -- -2.38.0 +2.38.1 -From f5d1c9ea198cf552b981475100a63cb6a328c1e6 Mon Sep 17 00:00:00 2001 +From 6118a8e8555abca60380ecc2ddcb47afead3fd94 Mon Sep 17 00:00:00 2001 From: odrling -Date: Fri, 14 May 2021 20:04:15 +0200 -Subject: [PATCH 09/28] discord window rules +Date: Thu, 26 May 2022 22:43:52 +0200 +Subject: [PATCH 03/15] update color theme + +--- + config.def.h | 46 +++++++++++++++++++++++++--------------------- + 1 file changed, 25 insertions(+), 21 deletions(-) + +diff --git a/config.def.h b/config.def.h +index 8dc318b..059a925 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -164,32 +164,36 @@ float alphaUnfocused = 0.6; + /* Terminal colors (16 first used in escape sequence) */ + static const char *colorname[] = { + /* 8 normal colors */ +- "#403E41", +- "#FF6188", +- "#A9DC76", +- "#FFD876", +- "#FC9867", +- "#AB9DF2", +- "#78DCE8", +- "#FCFCFA", ++ "#24292e", ++ "#d73a49", ++ "#28a745", ++ "#dbab09", ++ "#0366d6", ++ "#5a32a3", ++ "#0598bc", ++ "#6a737d", + + /* 8 bright colors */ +- "#727072", +- "#FF6188", +- "#A9DC76", +- "#FFD866", +- "#FC9867", +- "#AB9DF2", +- "#78DCE8", +- "#FCFCFA", ++ "#959da5", ++ "#cb2431", ++ "#22863a", ++ "#b08800", ++ "#005cc5", ++ "#5a32a3", ++ "#3192aa", ++ "#d1d5da", ++ ++ /* extra */ ++ "#d18616", ++ "#cb2431", + + [255] = 0, + + /* more colors can be added after 255 to use with DefaultXX */ + "#cccccc", +- "#555555", ++ "#333333", + "black", +- "#222222" ++ "#ffffff" + }; + + +@@ -197,10 +201,10 @@ static const char *colorname[] = { + * Default colors (colorname index) + * foreground, background, cursor, reverse cursor + */ +-unsigned int defaultfg = 7; ++unsigned int defaultfg = 0; + unsigned int defaultbg = 259; +-unsigned int defaultcs = 256; +-unsigned int defaultrcs = 257; ++unsigned int defaultcs = 257; ++unsigned int defaultrcs = 256; + + #if VIM_BROWSE_PATCH + unsigned int const currentBg = 6, buffSize = 2048; +-- +2.38.1 + + +From 612effe1dc6717c26760ac35de785eddba56e26d Mon Sep 17 00:00:00 2001 +From: odrling +Date: Thu, 26 May 2022 22:51:03 +0200 +Subject: [PATCH 04/15] dynamic cursor color + +--- + patches.def.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/patches.def.h b/patches.def.h +index 3457532..2e79d14 100644 +--- a/patches.def.h ++++ b/patches.def.h +@@ -141,7 +141,7 @@ + /* This patch makes the cursor color the inverse of the current cell color. + * https://st.suckless.org/patches/dynamic-cursor-color/ + */ +-#define DYNAMIC_CURSOR_COLOR_PATCH 0 ++#define DYNAMIC_CURSOR_COLOR_PATCH 1 + + /* Reading and writing st's screen through a pipe, e.g. pass info to dmenu. + * https://st.suckless.org/patches/externalpipe/ +-- +2.38.1 + + +From 492667cbb56b3aa10eec66597d702b74815f744b Mon Sep 17 00:00:00 2001 +From: odrling +Date: Thu, 26 May 2022 23:01:04 +0200 +Subject: [PATCH 05/15] move with termmod + j/k --- config.def.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config.def.h b/config.def.h -index 860dbdd..fd69677 100644 +index 059a925..d52f7d0 100644 --- a/config.def.h +++ b/config.def.h -@@ -482,6 +482,8 @@ static const Rule rules[] = { - RULE(.wintype = WTYPE "UTILITY", .isfloating = 1) - RULE(.wintype = WTYPE "TOOLBAR", .isfloating = 1) - RULE(.wintype = WTYPE "SPLASH", .isfloating = 1) -+ RULE(.class = "discord", .tags = 1 << 0, .switchtag = 1, .monitor = 0) -+ RULE(.class = "lightcord", .tags = 1 << 0, .switchtag = 1, .monitor = 0) - RULE(.class = "Firefox", .tags = 1 << 7, .switchtag = 1) - RULE(.role = "browser", .tags = 1 << 7, .switchtag = 1) - RULE(.class = "Ardour", .tags = 1 << 8, .monitor = 0) +@@ -403,6 +403,8 @@ static Shortcut shortcuts[] = { + #if SCROLLBACK_PATCH + { ShiftMask, XK_Page_Up, kscrollup, {.i = -1}, S_PRI }, + { ShiftMask, XK_Page_Down, kscrolldown, {.i = -1}, S_PRI }, ++ { TERMMOD, XK_K, kscrollup, {.i = 1}, S_PRI }, ++ { TERMMOD, XK_J, kscrolldown, {.i = 1}, S_PRI }, + #endif // SCROLLBACK_PATCH + #if CLIPBOARD_PATCH + { TERMMOD, XK_Y, clippaste, {.i = 0} }, -- -2.38.0 +2.38.1 -From 17625d154b43ac609e24d61a5d66fcc582636b7c Mon Sep 17 00:00:00 2001 +From 72d5946b7a3f024b62e57100a2d8b5209165ea77 Mon Sep 17 00:00:00 2001 From: odrling -Date: Fri, 14 May 2021 20:08:27 +0200 -Subject: [PATCH 10/28] apply one rule patch +Date: Thu, 26 May 2022 23:08:37 +0200 +Subject: [PATCH 06/15] enable more patches ig + +--- + patches.def.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/patches.def.h b/patches.def.h +index 2e79d14..c7009b8 100644 +--- a/patches.def.h ++++ b/patches.def.h +@@ -63,7 +63,7 @@ + * This patch makes bold text rendered simply as bold, leaving the color unaffected. + * https://st.suckless.org/patches/bold-is-not-bright/ + */ +-#define BOLD_IS_NOT_BRIGHT_PATCH 0 ++#define BOLD_IS_NOT_BRIGHT_PATCH 1 + + /* This patch adds custom rendering of lines/blocks/braille characters for gapless alignment. + * https://st.suckless.org/patches/boxdraw/ +@@ -83,7 +83,7 @@ + * + * https://github.com/bakkeby/st-flexipatch/issues/34 + */ +-#define COLUMNS_PATCH 0 ++#define COLUMNS_PATCH 1 + + /* Select and copy the last URL displayed with Mod+l. Multiple invocations cycle through the + * available URLs. +@@ -235,7 +235,7 @@ + * same CWD (current working directory) as the original st instance. + * https://st.suckless.org/patches/newterm/ + */ +-#define NEWTERM_PATCH 0 ++#define NEWTERM_PATCH 1 + + /* This patch will set the _MOTIF_WM_HINTS property for the st window which, if the window manager + * respects it, will show the st window without window decorations. +-- +2.38.1 + + +From 155c8b69eb0ea5601b1ba5f7c95359427289e834 Mon Sep 17 00:00:00 2001 +From: odrling +Date: Fri, 27 May 2022 00:35:49 +0200 +Subject: [PATCH 07/15] scroll mouse patch --- patches.def.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patches.def.h b/patches.def.h -index 7c2e2c7..e7fb4a2 100644 +index c7009b8..020bc59 100644 --- a/patches.def.h +++ b/patches.def.h -@@ -851,7 +851,7 @@ - #define ON_EMPTY_KEYS_PATCH 0 +@@ -278,7 +278,7 @@ + * This variant depends on SCROLLBACK_PATCH being enabled. + * https://st.suckless.org/patches/scrollback/ + */ +-#define SCROLLBACK_MOUSE_PATCH 0 ++#define SCROLLBACK_MOUSE_PATCH 1 - /* Minor patch that prevents more than one rule being matched for a given client. */ --#define ONLY_ONE_RULE_MATCH_PATCH 0 -+#define ONLY_ONE_RULE_MATCH_PATCH 1 - - /* 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. + /* Scroll back through terminal output using mouse wheel (when not in MODE_ALTSCREEN). + * This variant depends on SCROLLBACK_PATCH being enabled. -- -2.38.0 +2.38.1 -From 18688ec459630e99e4250b7692d047b6ab16eef9 Mon Sep 17 00:00:00 2001 +From 256a84049d4f1296e7675af8738fa6f9e0132816 Mon Sep 17 00:00:00 2001 From: odrling -Date: Sun, 20 Jun 2021 18:13:17 +0200 -Subject: [PATCH 11/28] add agordejo rule - ---- - config.def.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/config.def.h b/config.def.h -index fd69677..d2eb872 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -487,6 +487,7 @@ static const Rule rules[] = { - RULE(.class = "Firefox", .tags = 1 << 7, .switchtag = 1) - RULE(.role = "browser", .tags = 1 << 7, .switchtag = 1) - RULE(.class = "Ardour", .tags = 1 << 8, .monitor = 0) -+ RULE(.class = "Agordejo", .tags = 1 << 8, .monitor = 0) - RULE(.class = "qBittorrent", .tags = 1 << 6, .switchtag = 1, .monitor = 0) - RULE(.class = "mpv", .instance = "syncplay-mpv", .monitor = 1) - #if SCRATCHPADS_PATCH --- -2.38.0 - - -From 7ea6d97fb3e20a28a5dd848e2e082f25f99b72e4 Mon Sep 17 00:00:00 2001 -From: odrling -Date: Sat, 25 Sep 2021 14:36:07 +0200 -Subject: [PATCH 12/28] start easyeffects on tag 9 - ---- - config.def.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/config.def.h b/config.def.h -index d2eb872..372dbdc 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -487,6 +487,7 @@ static const Rule rules[] = { - RULE(.class = "Firefox", .tags = 1 << 7, .switchtag = 1) - RULE(.role = "browser", .tags = 1 << 7, .switchtag = 1) - RULE(.class = "Ardour", .tags = 1 << 8, .monitor = 0) -+ RULE(.class = "easyeffects", .tags = 1 << 8, .monitor = 0) - RULE(.class = "Agordejo", .tags = 1 << 8, .monitor = 0) - RULE(.class = "qBittorrent", .tags = 1 << 6, .switchtag = 1, .monitor = 0) - RULE(.class = "mpv", .instance = "syncplay-mpv", .monitor = 1) --- -2.38.0 - - -From 94325a0ed9e3ea259d977f844f2cfbe87d9e8922 Mon Sep 17 00:00:00 2001 -From: odrling -Date: Thu, 25 Nov 2021 01:15:38 +0100 -Subject: [PATCH 13/28] set carla to tag 9 - ---- - config.def.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/config.def.h b/config.def.h -index 372dbdc..7c7d93b 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -486,6 +486,7 @@ static const Rule rules[] = { - RULE(.class = "lightcord", .tags = 1 << 0, .switchtag = 1, .monitor = 0) - RULE(.class = "Firefox", .tags = 1 << 7, .switchtag = 1) - RULE(.role = "browser", .tags = 1 << 7, .switchtag = 1) -+ RULE(.class = "Carla2", .tags = 1 << 8, .monitor = 0, .switchtag = 0) - RULE(.class = "Ardour", .tags = 1 << 8, .monitor = 0) - RULE(.class = "easyeffects", .tags = 1 << 8, .monitor = 0) - RULE(.class = "Agordejo", .tags = 1 << 8, .monitor = 0) --- -2.38.0 - - -From 2f029c9f5f4bb7ef297fefce7455bc67043808d3 Mon Sep 17 00:00:00 2001 -From: odrling -Date: Wed, 22 Dec 2021 00:00:07 +0100 -Subject: [PATCH 14/28] set dmenucmd to rofi - ---- - config.def.h | 11 +---------- - 1 file changed, 1 insertion(+), 10 deletions(-) - -diff --git a/config.def.h b/config.def.h -index 7c7d93b..303e2a0 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -849,16 +849,7 @@ static const char *xkb_layouts[] = { - - /* commands */ - static const char *dmenucmd[] = { -- "dmenu_run", -- "-fn", dmenufont, -- "-nb", normbgcolor, -- "-nf", normfgcolor, -- "-sb", selbgcolor, -- "-sf", selfgcolor, -- #if BAR_DMENUMATCHTOP_PATCH -- topbar ? NULL : "-b", -- #endif // BAR_DMENUMATCHTOP_PATCH -- NULL -+ "rofi", "-combi-modi", "window,run", "-show", "combi", NULL - }; - static const char *termcmd[] = { "st", NULL }; - static const char *passmenucmd[] = { "passmenu", NULL }; --- -2.38.0 - - -From 0bacd50754371c399c5aed85723b9fdc63af004f Mon Sep 17 00:00:00 2001 -From: odrling -Date: Wed, 20 Apr 2022 13:30:35 +0200 -Subject: [PATCH 15/28] enable no border patch +Date: Fri, 27 May 2022 00:37:18 +0200 +Subject: [PATCH 08/15] st sync patch --- patches.def.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patches.def.h b/patches.def.h -index e7fb4a2..0509e26 100644 +index 020bc59..c406975 100644 --- a/patches.def.h +++ b/patches.def.h -@@ -817,7 +817,7 @@ - /* Removes the border when there is only one window visible. - * https://dwm.suckless.org/patches/noborder/ +@@ -340,7 +340,7 @@ + * + * https://st.suckless.org/patches/sync/ */ --#define NOBORDER_PATCH 0 -+#define NOBORDER_PATCH 1 +-#define SYNC_PATCH 0 ++#define SYNC_PATCH 1 - /* This patch allows for toggleable client button bindings that have no modifiers. - * This can, for example, allow you to move or resize using the mouse alone without holding + /* Instead of a default X cursor, use the xterm cursor from your cursor theme. + * You need to uncomment the corresponding line in config.mk to use the -lXcursor library -- -2.38.0 +2.38.1 -From 68f0a3a8605aa811efa666a2d482c73d05f2b694 Mon Sep 17 00:00:00 2001 +From d27b2513642f1f07281e7c8f94fcac6fa297d921 Mon Sep 17 00:00:00 2001 From: odrling -Date: Wed, 20 Apr 2022 13:52:04 +0200 -Subject: [PATCH 16/28] force swallow from alacritty +Date: Fri, 27 May 2022 00:38:36 +0200 +Subject: [PATCH 09/15] undercurl --- - config.def.h | 1 + - 1 file changed, 1 insertion(+) + config.def.h | 2 +- + patches.def.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config.def.h b/config.def.h -index 303e2a0..5c41bda 100644 +index d52f7d0..78fd0a2 100644 --- a/config.def.h +++ b/config.def.h -@@ -492,6 +492,7 @@ static const Rule rules[] = { - RULE(.class = "Agordejo", .tags = 1 << 8, .monitor = 0) - RULE(.class = "qBittorrent", .tags = 1 << 6, .switchtag = 1, .monitor = 0) - RULE(.class = "mpv", .instance = "syncplay-mpv", .monitor = 1) -+ RULE(.class = "Alacritty", .isterminal = 1) - #if SCRATCHPADS_PATCH - RULE(.instance = "spterm", .tags = SPTAG(0), .isfloating = 1) - #endif // SCRATCHPADS_PATCH --- -2.38.0 - - -From 00b14b776e9e6ade3d100055330d3fad9004686e Mon Sep 17 00:00:00 2001 -From: odrling -Date: Wed, 20 Apr 2022 18:18:33 +0200 -Subject: [PATCH 17/28] remove browser rules and add permanent - ---- - config.def.h | 12 ++++-------- - patches.def.h | 2 +- - 2 files changed, 5 insertions(+), 9 deletions(-) - -diff --git a/config.def.h b/config.def.h -index 5c41bda..d725bae 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -482,14 +482,10 @@ static const Rule rules[] = { - RULE(.wintype = WTYPE "UTILITY", .isfloating = 1) - RULE(.wintype = WTYPE "TOOLBAR", .isfloating = 1) - RULE(.wintype = WTYPE "SPLASH", .isfloating = 1) -- RULE(.class = "discord", .tags = 1 << 0, .switchtag = 1, .monitor = 0) -- RULE(.class = "lightcord", .tags = 1 << 0, .switchtag = 1, .monitor = 0) -- RULE(.class = "Firefox", .tags = 1 << 7, .switchtag = 1) -- RULE(.role = "browser", .tags = 1 << 7, .switchtag = 1) -- RULE(.class = "Carla2", .tags = 1 << 8, .monitor = 0, .switchtag = 0) -- RULE(.class = "Ardour", .tags = 1 << 8, .monitor = 0) -- RULE(.class = "easyeffects", .tags = 1 << 8, .monitor = 0) -- RULE(.class = "Agordejo", .tags = 1 << 8, .monitor = 0) -+ RULE(.class = "Carla2", .tags = 1 << 8, .monitor = 0, .switchtag = 0, .ispermanent = 1) -+ RULE(.class = "Ardour", .tags = 1 << 8, .monitor = 0, .ispermanent = 1) -+ RULE(.class = "easyeffects", .tags = 1 << 8, .monitor = 0, .ispermanent = 1) -+ RULE(.class = "Agordejo", .tags = 1 << 8, .monitor = 0, .ispermanent = 1) - RULE(.class = "qBittorrent", .tags = 1 << 6, .switchtag = 1, .monitor = 0) - RULE(.class = "mpv", .instance = "syncplay-mpv", .monitor = 1) - RULE(.class = "Alacritty", .isterminal = 1) +@@ -756,5 +756,5 @@ static char *plumb_cmd = "plumb"; + #define UNDERCURL_SPIKY 1 + #define UNDERCURL_CAPPED 2 + // Active style +-#define UNDERCURL_STYLE UNDERCURL_SPIKY ++#define UNDERCURL_STYLE UNDERCURL_CAPPED + #endif // UNDERCURL_PATCH diff --git a/patches.def.h b/patches.def.h -index 0509e26..092bc46 100644 +index c406975..837b904 100644 --- a/patches.def.h +++ b/patches.def.h -@@ -708,7 +708,7 @@ - /* Adds rule option for clients to avoid accidental termination by killclient for sticky windows. - * https://dwm.suckless.org/patches/ispermanent/ +@@ -365,7 +365,7 @@ + * + * https://st.suckless.org/patches/undercurl/ */ --#define ISPERMANENT_PATCH 0 -+#define ISPERMANENT_PATCH 1 +-#define UNDERCURL_PATCH 0 ++#define UNDERCURL_PATCH 1 - /* This patch adds key modes (like in vim or emacs) where chains of keyboard shortcuts - * can be performed. + /* Allows mouse scroll without modifier keys for regardless of alt screen using the external + * scroll program. -- -2.38.0 +2.38.1 -From a2f2e7d992e29a3dea4fca1dee949124a71da4e4 Mon Sep 17 00:00:00 2001 +From 065bf76f1cb9c96ff662dd59b30937b1e1a54a05 Mon Sep 17 00:00:00 2001 From: odrling -Date: Wed, 20 Apr 2022 19:13:43 +0200 -Subject: [PATCH 18/28] sendmon: keeptag patch - ---- - dwm.c | 2 ++ - patches.def.h | 4 ++++ - 2 files changed, 6 insertions(+) - -diff --git a/dwm.c b/dwm.c -index 794fab7..48a5fe9 100644 ---- a/dwm.c -+++ b/dwm.c -@@ -3305,11 +3305,13 @@ sendmon(Client *c, Monitor *m) - #if SCRATCHPADS_PATCH && !RENAMED_SCRATCHPADS_PATCH - if (!(c->tags & SPTAGMASK)) - #endif // SCRATCHPADS_PATCH -+ #if !SENDMON_KEEPTAGS - #if EMPTYVIEW_PATCH - c->tags = (m->tagset[m->seltags] ? m->tagset[m->seltags] : 1); - #else - c->tags = m->tagset[m->seltags]; /* assign tags of target monitor */ - #endif // EMPTYVIEW_PATCH -+ #endif // SENDMON_KEEPTAGS - #if ATTACHABOVE_PATCH || ATTACHASIDE_PATCH || ATTACHBELOW_PATCH || ATTACHBOTTOM_PATCH - attachx(c); - #else -diff --git a/patches.def.h b/patches.def.h -index 092bc46..d2909a5 100644 ---- a/patches.def.h -+++ b/patches.def.h -@@ -1012,6 +1012,10 @@ - */ - #define SENDMON_KEEPFOCUS_PATCH 0 - -+/* This patch allow clients to keep their current tags when sent to another monitor -+ */ -+#define SENDMON_KEEPTAGS 1 -+ - /* This patch allows border pixels to be changed during runtime. - * https://dwm.suckless.org/patches/setborderpx/ - */ --- -2.38.0 - - -From 1130aa352091877fecafbcbdfd8917d573f06a0c Mon Sep 17 00:00:00 2001 -From: odrling -Date: Wed, 20 Apr 2022 19:31:59 +0200 -Subject: [PATCH 19/28] taglabels +Date: Fri, 27 May 2022 02:09:19 +0200 +Subject: [PATCH 10/15] anysize simple --- patches.def.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/patches.def.h b/patches.def.h -index d2909a5..22ac7ea 100644 +index 837b904..5c6d41b 100644 --- a/patches.def.h +++ b/patches.def.h -@@ -170,12 +170,12 @@ - #define BAR_SYSTRAY_PATCH 0 - - /* Show tag symbols in the bar. */ --#define BAR_TAGS_PATCH 1 -+#define BAR_TAGS_PATCH 0 - - /* Show tag symbols + class of master window in the bar. - * https://dwm.suckless.org/patches/taglabels/ +@@ -32,12 +32,12 @@ + /* This patch allows st to resize to any pixel size rather than snapping to character width/height. + * https://st.suckless.org/patches/anysize/ */ --#define BAR_TAGLABELS_PATCH 0 -+#define BAR_TAGLABELS_PATCH 1 +-#define ANYSIZE_PATCH 1 ++#define ANYSIZE_PATCH 0 - /* This patch underlines the selected tag, or optionally all tags. - * https://dwm.suckless.org/patches/underlinetags/ + /* A simple variant of the anysize patch that only changes the resize hints to allow the window to + * be resized to any size. + */ +-#define ANYSIZE_SIMPLE_PATCH 0 ++#define ANYSIZE_SIMPLE_PATCH 1 + + /* Draws a background image in farbfeld format in place of the defaultbg color allowing for pseudo + * transparency. -- -2.38.0 +2.38.1 -From 42c1d84cc3a0bec88bb683649573c938cb68a819 Mon Sep 17 00:00:00 2001 +From 7a1f17e2755e734c39361829da44c5ee5ad24f92 Mon Sep 17 00:00:00 2001 From: odrling -Date: Wed, 20 Apr 2022 20:26:55 +0200 -Subject: [PATCH 20/28] better taglabels +Date: Fri, 27 May 2022 02:09:49 +0200 +Subject: [PATCH 11/15] set new font scale binding --- - config.def.h | 8 +++++--- - dwm.c | 7 +++++++ - patch/bar_taglabels.c | 10 ++++------ - 3 files changed, 16 insertions(+), 9 deletions(-) + config.def.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config.def.h b/config.def.h -index d725bae..cb25bfd 100644 +index 78fd0a2..cd0078f 100644 --- a/config.def.h +++ b/config.def.h -@@ -95,8 +95,8 @@ static const unsigned int systrayspacing = 2; /* systray spacing */ - static const int showsystray = 1; /* 0 means no systray */ - #endif // BAR_SYSTRAY_PATCH - #if BAR_TAGLABELS_PATCH --static const char ptagf[] = "[%s %s]"; /* format of a tag label */ --static const char etagf[] = "[%s]"; /* format of an empty tag */ -+static const char ptagf[] = "%s: %s"; /* format of a tag label */ -+static const char etagf[] = "%s"; /* format of an empty tag */ - static const int lcaselbl = 0; /* 1 means make tag label lowercase */ - #endif // BAR_TAGLABELS_PATCH - #if BAR_UNDERLINETAGS_PATCH -@@ -488,7 +488,9 @@ static const Rule rules[] = { - RULE(.class = "Agordejo", .tags = 1 << 8, .monitor = 0, .ispermanent = 1) - RULE(.class = "qBittorrent", .tags = 1 << 6, .switchtag = 1, .monitor = 0) - RULE(.class = "mpv", .instance = "syncplay-mpv", .monitor = 1) -- RULE(.class = "Alacritty", .isterminal = 1) -+ RULE(.class = "Alacritty", .isterminal = 1, .label = "\uf120") -+ RULE(.class = "Chromium-browser-chromium", .label = "\uf268") -+ RULE(.class = "firefox", .label = "\uf269") - #if SCRATCHPADS_PATCH - RULE(.instance = "spterm", .tags = SPTAG(0), .isfloating = 1) - #endif // SCRATCHPADS_PATCH -diff --git a/dwm.c b/dwm.c -index 48a5fe9..8977752 100644 ---- a/dwm.c -+++ b/dwm.c -@@ -344,6 +344,7 @@ struct XkbInfo { - typedef struct Client Client; - struct Client { - char name[256]; -+ char label[48]; - float mina, maxa; - #if CFACTS_PATCH - float cfact; -@@ -534,6 +535,7 @@ typedef struct { - #endif // WINDOWROLERULE_PATCH - const char *instance; - const char *title; -+ const char *label; - const char *wintype; - unsigned int tags; - #if SWITCHTAG_PATCH -@@ -880,6 +882,9 @@ applyrules(Client *c) - class = ch.res_class ? ch.res_class : broken; - instance = ch.res_name ? ch.res_name : broken; - wintype = getatomprop(c, netatom[NetWMWindowType], XA_ATOM); -+ -+ snprintf(c->label, 48, "%s", class); -+ - #if WINDOWROLERULE_PATCH - gettextprop(c->win, wmatom[WMWindowRole], role, sizeof(role)); - #endif // WINDOWROLERULE_PATCH -@@ -899,6 +904,8 @@ applyrules(Client *c) - && (!r->instance || strstr(instance, r->instance)) - && (!r->wintype || wintype == XInternAtom(dpy, r->wintype, False))) - { -+ if (r->label) snprintf(c->label, 48, "%s", r->label); -+ - #if CENTER_PATCH - c->iscentered = r->iscentered; - #endif // CENTER_PATCH -diff --git a/patch/bar_taglabels.c b/patch/bar_taglabels.c -index 9e6d441..f00a7be 100644 ---- a/patch/bar_taglabels.c -+++ b/patch/bar_taglabels.c -@@ -17,17 +17,15 @@ width_taglabels(Bar *bar, BarArg *a) - continue; - #endif // BAR_HIDEVACANTTAGS_PATCH - icon = tagicon(m, i); -- XClassHint ch = { NULL, NULL }; -+ char *label = NULL; - for (c = m->clients; c; c = c->next) { - if (c->tags & (1 << i)) { -- XGetClassHint(dpy, c->win, &ch); -+ label = c->label; - break; - } - } -- if (ch.res_class) { -- if (lcaselbl) -- ch.res_class[0] = tolower(ch.res_class[0]); -- snprintf(m->taglabel[i], 64, ptagf, icon, ch.res_class); -+ if (label) { -+ snprintf(m->taglabel[i], 64, ptagf, icon, label); - } else - snprintf(m->taglabel[i], 64, etagf, icon); - +@@ -387,8 +387,8 @@ static Shortcut shortcuts[] = { + { ControlMask, XK_Print, toggleprinter, {.i = 0} }, + { ShiftMask, XK_Print, printscreen, {.i = 0} }, + { XK_ANY_MOD, XK_Print, printsel, {.i = 0} }, +- { TERMMOD, XK_Prior, zoom, {.f = +1} }, +- { TERMMOD, XK_Next, zoom, {.f = -1} }, ++ { TERMMOD, XK_Up, zoom, {.f = +1} }, ++ { TERMMOD, XK_Down, zoom, {.f = -1} }, + { TERMMOD, XK_Home, zoomreset, {.f = 0} }, + { TERMMOD, XK_C, clipcopy, {.i = 0} }, + { TERMMOD, XK_V, clippaste, {.i = 0} }, -- -2.38.0 +2.38.1 -From 436eb252e453829b42120b3b30a35ea21e73ccb4 Mon Sep 17 00:00:00 2001 +From 1eee022a9fe8f0ecca5602740daaed156e6daaf1 Mon Sep 17 00:00:00 2001 From: odrling -Date: Thu, 21 Apr 2022 01:55:12 +0200 -Subject: [PATCH 21/28] no swallow syncplay mpv +Date: Fri, 27 May 2022 02:29:39 +0200 +Subject: [PATCH 12/15] swapmouse --- - config.def.h | 2 +- + patches.def.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/config.def.h b/config.def.h -index cb25bfd..25df128 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -487,7 +487,7 @@ static const Rule rules[] = { - RULE(.class = "easyeffects", .tags = 1 << 8, .monitor = 0, .ispermanent = 1) - RULE(.class = "Agordejo", .tags = 1 << 8, .monitor = 0, .ispermanent = 1) - RULE(.class = "qBittorrent", .tags = 1 << 6, .switchtag = 1, .monitor = 0) -- RULE(.class = "mpv", .instance = "syncplay-mpv", .monitor = 1) -+ RULE(.class = "mpv", .instance = "syncplay-mpv", .monitor = 1, .noswallow = 1) - RULE(.class = "Alacritty", .isterminal = 1, .label = "\uf120") - RULE(.class = "Chromium-browser-chromium", .label = "\uf268") - RULE(.class = "firefox", .label = "\uf269") --- -2.38.0 - - -From b34653a29b744c91fcda8912baf16c96e41c11b5 Mon Sep 17 00:00:00 2001 -From: odrling -Date: Thu, 21 Apr 2022 13:39:36 +0200 -Subject: [PATCH 22/28] add thunderbird and ardour labels - ---- - config.def.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/config.def.h b/config.def.h -index 25df128..8ae74ee 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -483,7 +483,7 @@ static const Rule rules[] = { - RULE(.wintype = WTYPE "TOOLBAR", .isfloating = 1) - RULE(.wintype = WTYPE "SPLASH", .isfloating = 1) - RULE(.class = "Carla2", .tags = 1 << 8, .monitor = 0, .switchtag = 0, .ispermanent = 1) -- RULE(.class = "Ardour", .tags = 1 << 8, .monitor = 0, .ispermanent = 1) -+ RULE(.class = "Ardour", .tags = 1 << 8, .monitor = 0, .ispermanent = 1, .label = "\uf025") - RULE(.class = "easyeffects", .tags = 1 << 8, .monitor = 0, .ispermanent = 1) - RULE(.class = "Agordejo", .tags = 1 << 8, .monitor = 0, .ispermanent = 1) - RULE(.class = "qBittorrent", .tags = 1 << 6, .switchtag = 1, .monitor = 0) -@@ -491,6 +491,7 @@ static const Rule rules[] = { - RULE(.class = "Alacritty", .isterminal = 1, .label = "\uf120") - RULE(.class = "Chromium-browser-chromium", .label = "\uf268") - RULE(.class = "firefox", .label = "\uf269") -+ RULE(.class = "Thunderbird", .label = "\uf01c") - #if SCRATCHPADS_PATCH - RULE(.instance = "spterm", .tags = SPTAG(0), .isfloating = 1) - #endif // SCRATCHPADS_PATCH --- -2.38.0 - - -From c07580e6afce63f43eb8e358a32bb7729f3e56bb Mon Sep 17 00:00:00 2001 -From: odrling -Date: Thu, 5 May 2022 17:29:55 +0200 -Subject: [PATCH 23/28] use rofi run - ---- - config.def.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/config.def.h b/config.def.h -index 8ae74ee..92779c6 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -849,7 +849,7 @@ static const char *xkb_layouts[] = { +diff --git a/patches.def.h b/patches.def.h +index 5c6d41b..56854ec 100644 +--- a/patches.def.h ++++ b/patches.def.h +@@ -327,7 +327,7 @@ + * shown by vte terminals like termite. + * https://st.suckless.org/patches/swapmouse/ + */ +-#define SWAPMOUSE_PATCH 0 ++#define SWAPMOUSE_PATCH 1 - /* commands */ - static const char *dmenucmd[] = { -- "rofi", "-combi-modi", "window,run", "-show", "combi", NULL -+ "rofi", "-show", "run", NULL - }; - static const char *termcmd[] = { "st", NULL }; - static const char *passmenucmd[] = { "passmenu", NULL }; + /* This patch adds synchronized-updates/application-sync support in st. + * This will have no effect except when an application uses the synchronized-update escape -- -2.38.0 +2.38.1 -From d6d0e5ed750d14b9a076597e02a8fb2d903026e0 Mon Sep 17 00:00:00 2001 +From 99513e3a120b6b3546b910f85f67545dc6c484b8 Mon Sep 17 00:00:00 2001 From: odrling -Date: Thu, 26 May 2022 22:32:57 +0200 -Subject: [PATCH 24/28] add st as terminal +Date: Fri, 27 May 2022 02:39:03 +0200 +Subject: [PATCH 13/15] relative border --- - config.def.h | 1 + - 1 file changed, 1 insertion(+) + config.def.h | 2 +- + patches.def.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config.def.h b/config.def.h -index 92779c6..ccb9ed1 100644 +index cd0078f..eccec26 100644 --- a/config.def.h +++ b/config.def.h -@@ -489,6 +489,7 @@ static const Rule rules[] = { - RULE(.class = "qBittorrent", .tags = 1 << 6, .switchtag = 1, .monitor = 0) - RULE(.class = "mpv", .instance = "syncplay-mpv", .monitor = 1, .noswallow = 1) - RULE(.class = "Alacritty", .isterminal = 1, .label = "\uf120") -+ RULE(.class = "st-256color", .isterminal = 1, .label = "\uf120") - RULE(.class = "Chromium-browser-chromium", .label = "\uf268") - RULE(.class = "firefox", .label = "\uf269") - RULE(.class = "Thunderbird", .label = "\uf01c") --- -2.38.0 - - -From 781fec2e6fcc618c03fa2121b7652e2406e72743 Mon Sep 17 00:00:00 2001 -From: odrling -Date: Mon, 30 May 2022 01:53:40 +0200 -Subject: [PATCH 25/28] add discord icon ig - ---- - config.def.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/config.def.h b/config.def.h -index ccb9ed1..7abedf9 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -490,6 +490,7 @@ static const Rule rules[] = { - RULE(.class = "mpv", .instance = "syncplay-mpv", .monitor = 1, .noswallow = 1) - RULE(.class = "Alacritty", .isterminal = 1, .label = "\uf120") - RULE(.class = "st-256color", .isterminal = 1, .label = "\uf120") -+ RULE(.class = "discord", .label = "\uf2ee") - RULE(.class = "Chromium-browser-chromium", .label = "\uf268") - RULE(.class = "firefox", .label = "\uf269") - RULE(.class = "Thunderbird", .label = "\uf01c") --- -2.38.0 - - -From e527ef804e75c91ba7a6674f0d899f26ba71be25 Mon Sep 17 00:00:00 2001 -From: odrling -Date: Thu, 2 Jun 2022 16:00:25 +0200 -Subject: [PATCH 26/28] set correct fontawesome discord character - ---- - config.def.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/config.def.h b/config.def.h -index 7abedf9..3ffb428 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -490,7 +490,7 @@ static const Rule rules[] = { - RULE(.class = "mpv", .instance = "syncplay-mpv", .monitor = 1, .noswallow = 1) - RULE(.class = "Alacritty", .isterminal = 1, .label = "\uf120") - RULE(.class = "st-256color", .isterminal = 1, .label = "\uf120") -- RULE(.class = "discord", .label = "\uf2ee") -+ RULE(.class = "discord", .label = "\uf392") - RULE(.class = "Chromium-browser-chromium", .label = "\uf268") - RULE(.class = "firefox", .label = "\uf269") - RULE(.class = "Thunderbird", .label = "\uf01c") --- -2.38.0 - - -From 4feef60821f70357ee6c57da7a4403c135463460 Mon Sep 17 00:00:00 2001 -From: odrling -Date: Thu, 28 Jul 2022 14:55:49 +0200 -Subject: [PATCH 27/28] set pid to rofi - ---- - config.def.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/config.def.h b/config.def.h -index 3ffb428..959db72 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -851,7 +851,7 @@ static const char *xkb_layouts[] = { +@@ -27,7 +27,7 @@ static const int pseudotransparency = 0; + #if RELATIVEBORDER_PATCH + /* borderperc: percentage of cell width to use as a border + * 0 = no border, 100 = border width is same as cell width */ +-int borderperc = 20; ++int borderperc = 40; + #else + static int borderpx = 2; + #endif // RELATIVEBORDER_PATCH +diff --git a/patches.def.h b/patches.def.h +index 56854ec..78b2320 100644 +--- a/patches.def.h ++++ b/patches.def.h +@@ -261,7 +261,7 @@ + * in the terminal. + * https://st.suckless.org/patches/relativeborder/ + */ +-#define RELATIVEBORDER_PATCH 0 ++#define RELATIVEBORDER_PATCH 1 - /* commands */ - static const char *dmenucmd[] = { -- "rofi", "-show", "run", NULL -+ "rofi", "-pid", "/tmp/rofi", "-show", "run", NULL - }; - static const char *termcmd[] = { "st", NULL }; - static const char *passmenucmd[] = { "passmenu", NULL }; + /* This patch allows you to right-click on some selected text to send it to the plumbing + * program of choice, e.g. open a file, view an image, open a URL. -- -2.38.0 +2.38.1 -From 85b9d55b033be2e2ff882ac8a617a313cef4d2dc Mon Sep 17 00:00:00 2001 +From 8bb6e96a338fb0153419265a5cbd2e1811726ad7 Mon Sep 17 00:00:00 2001 From: odrling -Date: Tue, 11 Oct 2022 17:52:33 +0200 -Subject: [PATCH 28/28] add windowmenu +Date: Fri, 9 Sep 2022 02:13:28 +0200 +Subject: [PATCH 14/15] update enabled patches --- - config.def.h | 4 ++++ - 1 file changed, 4 insertions(+) + patches.def.h | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) -diff --git a/config.def.h b/config.def.h -index 959db72..5c60b41 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -853,6 +853,9 @@ static const char *xkb_layouts[] = { - static const char *dmenucmd[] = { - "rofi", "-pid", "/tmp/rofi", "-show", "run", NULL - }; -+static const char *windowmenu[] = { -+ "rofi", "-modi", "window", "-show", "window", NULL -+}; - static const char *termcmd[] = { "st", NULL }; - static const char *passmenucmd[] = { "passmenu", NULL }; - static const char *webmenucmd[] = { "webmenu", NULL }; -@@ -890,6 +893,7 @@ static const Key keys[] = { - #endif // KEYMODES_PATCH - { MODKEY, XK_o, spawn, {.v = dmenucmd } }, - { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, -+ { MODKEY, XK_w, spawn, {.v = windowmenu} }, - #if RIODRAW_PATCH - { MODKEY|ControlMask, XK_p, riospawnsync, {.v = dmenucmd } }, - { MODKEY|ControlMask, XK_Return, riospawn, {.v = termcmd } }, +diff --git a/patches.def.h b/patches.def.h +index 78b2320..1f79bbf 100644 +--- a/patches.def.h ++++ b/patches.def.h +@@ -101,7 +101,7 @@ + * restores the window title (for instance nvim does this when opening and closing). + * https://st.suckless.org/patches/csi_22_23/ + */ +-#define CSI_22_23_PATCH 0 ++#define CSI_22_23_PATCH 1 + + /* According to the specification (see link in BLINKING_CURSOR_PATCH) the "Set cursor style + * (DECSCUSR), VT520." escape sequences define both values of 0 and 1 as a blinking block, +@@ -170,7 +170,7 @@ + * that are available to GUI applications. + * https://st.suckless.org/patches/fix_keyboard_input/ + */ +-#define FIXKEYBOARDINPUT_PATCH 0 ++#define FIXKEYBOARDINPUT_PATCH 1 + + /* This patch allows you to add spare font besides the default. Some glyphs can be not present in + * the default font. For this glyphs st uses font-config and try to find them in font cache first. +@@ -320,7 +320,7 @@ + /* Use inverted defaultbg/fg for selection when bg/fg are the same. + * https://st.suckless.org/patches/spoiler/ + */ +-#define SPOILER_PATCH 0 ++#define SPOILER_PATCH 1 + + /* This patch changes the mouse shape to the global default when the running program subscribes + * for mouse events, for instance, in programs like ranger and fzf. It emulates the behaviour +@@ -371,7 +371,7 @@ + * scroll program. + * https://st.suckless.org/patches/universcroll/ + */ +-#define UNIVERSCROLL_PATCH 0 ++#define UNIVERSCROLL_PATCH 1 + + /* Use XftFontMatch in place of FcFontMatch. + * +@@ -385,7 +385,7 @@ + * + * https://git.suckless.org/st/commit/528241aa3835e2f1f052abeeaf891737712955a0.html + */ +-#define USE_XFTFONTMATCH_PATCH 0 ++#define USE_XFTFONTMATCH_PATCH 1 + + /* Vertically center lines in the space available if you have set a larger chscale in config.h + * https://st.suckless.org/patches/vertcenter/ +@@ -410,7 +410,7 @@ + /* Adds support for w3m images. + * https://st.suckless.org/patches/w3m/ + */ +-#define W3M_PATCH 1 ++#define W3M_PATCH 0 + + /* Adds proper glyphs rendering in st allowing wide glyphs to be drawn as-is as opposed to + * smaller or cut glyphs being rendered. -- -2.38.0 +2.38.1 + + +From e5742da3ae1f3491086585e92babb21a2d411cc6 Mon Sep 17 00:00:00 2001 +From: odrling +Date: Thu, 15 Sep 2022 16:02:06 +0200 +Subject: [PATCH 15/15] fix fix keyboard input + +--- + patches.def.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/patches.def.h b/patches.def.h +index 1f79bbf..5727131 100644 +--- a/patches.def.h ++++ b/patches.def.h +@@ -170,7 +170,7 @@ + * that are available to GUI applications. + * https://st.suckless.org/patches/fix_keyboard_input/ + */ +-#define FIXKEYBOARDINPUT_PATCH 1 ++#define FIXKEYBOARDINPUT_PATCH 0 + + /* This patch allows you to add spare font besides the default. Some glyphs can be not present in + * the default font. For this glyphs st uses font-config and try to find them in font cache first. +-- +2.38.1