diff --git a/x11-wm/dwm/dwm-9999.ebuild b/x11-wm/dwm/dwm-9999.ebuild index 252eea7..ed9762b 100644 --- a/x11-wm/dwm/dwm-9999.ebuild +++ b/x11-wm/dwm/dwm-9999.ebuild @@ -6,7 +6,7 @@ inherit git-r3 toolchain-funcs DESCRIPTION="a dynamic window manager for X11" HOMEPAGE="https://dwm.suckless.org/" -EGIT_REPO_URI="https://git.odrling.xyz/odrling/${PN}-flexipatch.git" +EGIT_REPO_URI="https://github.com/bakkeby/dwm-flexipatch" LICENSE="MIT" SLOT="0" @@ -25,6 +25,34 @@ DEPEND=" ${RDEPEND} xinerama? ( x11-base/xorg-proto ) " +PATCHES=( + "${FILESDIR}"/0001-set-up-my-patches-and-config.patch + "${FILESDIR}"/0002-set-urgent-color.patch + "${FILESDIR}"/0003-more-config.patch + "${FILESDIR}"/0004-edit-cyclelayout-keybinding.patch + "${FILESDIR}"/0005-I-don-t-think-this-argument-is-required.patch + "${FILESDIR}"/0006-decomment-libraries-used-by-enabled-patches.patch + "${FILESDIR}"/0007-runsvdir-on-startup.patch + "${FILESDIR}"/0008-browser-config.patch + "${FILESDIR}"/0009-discord-window-rules.patch + "${FILESDIR}"/0010-apply-one-rule-patch.patch + "${FILESDIR}"/0011-add-agordejo-rule.patch + "${FILESDIR}"/0012-start-easyeffects-on-tag-9.patch + "${FILESDIR}"/0013-set-carla-to-tag-9.patch + "${FILESDIR}"/0014-set-dmenucmd-to-rofi.patch + "${FILESDIR}"/0015-enable-no-border-patch.patch + "${FILESDIR}"/0016-force-swallow-from-alacritty.patch + "${FILESDIR}"/0017-remove-browser-rules-and-add-permanent.patch + "${FILESDIR}"/0018-sendmon-keeptag-patch.patch + "${FILESDIR}"/0019-taglabels.patch + "${FILESDIR}"/0020-better-taglabels.patch + "${FILESDIR}"/0021-no-swallow-syncplay-mpv.patch + "${FILESDIR}"/0022-add-thunderbird-and-ardour-labels.patch + "${FILESDIR}"/0023-use-rofi-run.patch + "${FILESDIR}"/0024-add-st-as-terminal.patch + "${FILESDIR}"/0025-add-discord-icon-ig.patch + "${FILESDIR}"/0026-set-correct-fontawesome-discord-character.patch +) src_prepare() { default diff --git a/x11-wm/dwm/files/0001-set-up-my-patches-and-config.patch b/x11-wm/dwm/files/0001-set-up-my-patches-and-config.patch new file mode 100644 index 0000000..6ca8a59 --- /dev/null +++ b/x11-wm/dwm/files/0001-set-up-my-patches-and-config.patch @@ -0,0 +1,470 @@ +From 38b0d257f4f52e4312ce1d04512894e80eb66481 Mon Sep 17 00:00:00 2001 +From: odrling +Date: Sat, 27 Mar 2021 18:56:05 +0100 +Subject: [PATCH 01/26] set up my patches and config + +--- + config.def.h | 116 ++++++++++++++++++++++++++++++-------------------- + patches.def.h | 50 +++++++++++----------- + 2 files changed, 94 insertions(+), 72 deletions(-) + +diff --git a/config.def.h b/config.def.h +index f74b909..79b3dd9 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -125,11 +125,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"; + #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"; + + static char c000000[] = "#000000"; // placeholder value + +@@ -139,9 +139,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"; +@@ -149,9 +149,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"; +@@ -159,14 +159,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"; +@@ -346,7 +346,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 +@@ -435,8 +435,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 = "Gimp", .tags = 1 << 4) +- RULE(.class = "Firefox", .tags = 1 << 7) ++ 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 +@@ -591,13 +592,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 +@@ -656,7 +657,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 +@@ -711,7 +712,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} }, \ +@@ -812,6 +813,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 +@@ -842,7 +847,7 @@ static 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 } }, +@@ -966,14 +971,14 @@ static 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 +@@ -989,9 +994,9 @@ static 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 +@@ -1050,10 +1055,10 @@ static 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 +@@ -1190,23 +1195,40 @@ static 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 697f6e6..fb93871 100644 +--- a/patches.def.h ++++ b/patches.def.h +@@ -317,7 +317,7 @@ + * https://github.com/bakkeby/dwm-flexipatch/issues/50 (_IS_FLOATING patch) + * https://dwm.suckless.org/patches/ewmhtags/ + */ +-#define BAR_EWMHTAGS_PATCH 0 ++#define BAR_EWMHTAGS_PATCH 1 + + /* Allows the bar height to be explicitly set rather than being derived from font. + * https://dwm.suckless.org/patches/bar_height/ +@@ -327,7 +327,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/ + */ +-#define BAR_HIDEVACANTTAGS_PATCH 0 ++#define BAR_HIDEVACANTTAGS_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. +@@ -471,7 +471,7 @@ + * get resized/moved. With this patch, they will. + * https://dwm.suckless.org/patches/autoresize/ + */ +-#define AUTORESIZE_PATCH 0 ++#define AUTORESIZE_PATCH 1 + + /* This patch adds an iscentered rule to automatically center clients on the current monitor. + * This patch takes precedence over centeredwindowname, alwayscenter and fancybar patches. +@@ -489,12 +489,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. + */ +-#define CENTER_TRANSIENT_WINDOWS_PATCH 0 ++#define CENTER_TRANSIENT_WINDOWS_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. + */ +-#define CENTER_TRANSIENT_WINDOWS_BY_PARENT_PATCH 0 ++#define CENTER_TRANSIENT_WINDOWS_BY_PARENT_PATCH 1 + + /* This patch provides the ability to assign different weights to clients in their + * respective stack in tiled layout. +@@ -512,18 +512,18 @@ + * hold MOD and then press and hold 1 and 3 together. + * https://dwm.suckless.org/patches/combo/ + */ +-#define COMBO_PATCH 0 ++#define COMBO_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/ + */ +-#define COOL_AUTOSTART_PATCH 0 ++#define COOL_AUTOSTART_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 +@@ -629,7 +629,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. +@@ -674,7 +674,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/ +@@ -705,7 +705,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. +@@ -757,12 +757,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 + + /* Enable modifying or removing dmenu in config.def.h which resulted previously in a + * compilation error because two lines of code hardcode dmenu into dwm. +@@ -790,7 +790,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 +@@ -866,7 +866,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. +@@ -990,7 +990,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/ +@@ -1016,12 +1016,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, +@@ -1038,7 +1038,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 +@@ -1074,7 +1074,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 +@@ -1116,7 +1116,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. +@@ -1214,7 +1214,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. +@@ -1242,7 +1242,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/ +@@ -1304,7 +1304,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/ +@@ -1329,7 +1329,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. +-- +2.35.1 + diff --git a/x11-wm/dwm/files/0002-set-urgent-color.patch b/x11-wm/dwm/files/0002-set-urgent-color.patch new file mode 100644 index 0000000..6a74cd5 --- /dev/null +++ b/x11-wm/dwm/files/0002-set-urgent-color.patch @@ -0,0 +1,29 @@ +From 47cc1e563f95437fd4ee5cb0adbb41750e0b793f Mon Sep 17 00:00:00 2001 +From: odrling +Date: Sat, 27 Mar 2021 19:07:22 +0100 +Subject: [PATCH 02/26] set urgent color + +--- + config.def.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/config.def.h b/config.def.h +index 79b3dd9..6fb1ff4 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -168,9 +168,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 BAR_FLEXWINTITLE_PATCH +-- +2.35.1 + diff --git a/x11-wm/dwm/files/0003-more-config.patch b/x11-wm/dwm/files/0003-more-config.patch new file mode 100644 index 0000000..7461ca8 --- /dev/null +++ b/x11-wm/dwm/files/0003-more-config.patch @@ -0,0 +1,108 @@ +From 0d7763c00e74b3a07d323af1f7962c8434ba5082 Mon Sep 17 00:00:00 2001 +From: odrling +Date: Sun, 28 Mar 2021 20:22:05 +0200 +Subject: [PATCH 03/26] 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 6fb1ff4..147f110 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -435,8 +435,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) +@@ -1042,7 +1043,7 @@ static 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} }, +@@ -1052,8 +1053,8 @@ static 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 } }, +@@ -1496,7 +1497,9 @@ static 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 fb93871..fcf8e1e 100644 +--- a/patches.def.h ++++ b/patches.def.h +@@ -440,7 +440,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. +@@ -635,14 +635,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. +@@ -762,7 +762,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 + + /* Enable modifying or removing dmenu in config.def.h which resulted previously in a + * compilation error because two lines of code hardcode dmenu into dwm. +@@ -814,7 +814,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.35.1 + diff --git a/x11-wm/dwm/files/0004-edit-cyclelayout-keybinding.patch b/x11-wm/dwm/files/0004-edit-cyclelayout-keybinding.patch new file mode 100644 index 0000000..b8dd475 --- /dev/null +++ b/x11-wm/dwm/files/0004-edit-cyclelayout-keybinding.patch @@ -0,0 +1,38 @@ +From 4b8ad296cd799440050eeaa66854c3d9205d4f3d Mon Sep 17 00:00:00 2001 +From: odrling +Date: Thu, 1 Apr 2021 20:27:49 +0200 +Subject: [PATCH 04/26] 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 147f110..3378fab 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -1012,8 +1012,8 @@ static 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} }, +@@ -1196,8 +1196,8 @@ static 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.35.1 + diff --git a/x11-wm/dwm/files/0005-I-don-t-think-this-argument-is-required.patch b/x11-wm/dwm/files/0005-I-don-t-think-this-argument-is-required.patch new file mode 100644 index 0000000..62b8279 --- /dev/null +++ b/x11-wm/dwm/files/0005-I-don-t-think-this-argument-is-required.patch @@ -0,0 +1,27 @@ +From 4ff89f8015868c02dd7ea7754f6a5a44f5ed82be Mon Sep 17 00:00:00 2001 +From: odrling +Date: Wed, 21 Apr 2021 23:19:07 +0200 +Subject: [PATCH 05/26] 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 3378fab..c40fbb5 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -814,8 +814,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.35.1 + diff --git a/x11-wm/dwm/files/0006-decomment-libraries-used-by-enabled-patches.patch b/x11-wm/dwm/files/0006-decomment-libraries-used-by-enabled-patches.patch new file mode 100644 index 0000000..a390d17 --- /dev/null +++ b/x11-wm/dwm/files/0006-decomment-libraries-used-by-enabled-patches.patch @@ -0,0 +1,34 @@ +From 4d2f2055fa38b4cc6546c558f8706c6d75c36812 Mon Sep 17 00:00:00 2001 +From: odrling +Date: Wed, 21 Apr 2021 23:36:07 +0200 +Subject: [PATCH 06/26] 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 f1cecb2..9232078 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 patch / BAR_WINICON_PATCH + #IMLIB2LIBS = -lImlib2 +-- +2.35.1 + diff --git a/x11-wm/dwm/files/0007-runsvdir-on-startup.patch b/x11-wm/dwm/files/0007-runsvdir-on-startup.patch new file mode 100644 index 0000000..2bbb094 --- /dev/null +++ b/x11-wm/dwm/files/0007-runsvdir-on-startup.patch @@ -0,0 +1,24 @@ +From 1afda29caed01f66fed3bcd5838b6228221ede70 Mon Sep 17 00:00:00 2001 +From: odrling +Date: Sat, 24 Apr 2021 15:02:45 +0200 +Subject: [PATCH 07/26] runsvdir on startup + +--- + config.def.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/config.def.h b/config.def.h +index c40fbb5..55d1832 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -347,6 +347,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.35.1 + diff --git a/x11-wm/dwm/files/0008-browser-config.patch b/x11-wm/dwm/files/0008-browser-config.patch new file mode 100644 index 0000000..74d6ba4 --- /dev/null +++ b/x11-wm/dwm/files/0008-browser-config.patch @@ -0,0 +1,47 @@ +From af8e2a984cca8688d6146e47cb98b6b398b2df52 Mon Sep 17 00:00:00 2001 +From: odrling +Date: Fri, 14 May 2021 19:58:33 +0200 +Subject: [PATCH 08/26] browser config + +--- + config.def.h | 3 ++- + patches.def.h | 2 +- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/config.def.h b/config.def.h +index 55d1832..43772e0 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -437,6 +437,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) +@@ -1219,7 +1220,7 @@ static 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 fcf8e1e..3d7b39f 100644 +--- a/patches.def.h ++++ b/patches.def.h +@@ -1223,7 +1223,7 @@ + * or Google-chrome "browser" vs "pop-up". + * https://github.com/bakkeby/patches/blob/master/dwm/dwm-windowrolerule-6.2.diff + */ +-#define WINDOWROLERULE_PATCH 0 ++#define WINDOWROLERULE_PATCH 1 + + /* The winview patch allows switching the view to that of a given client from the all-window + * view (Mod-0) using a keyboard shortcut. +-- +2.35.1 + diff --git a/x11-wm/dwm/files/0009-discord-window-rules.patch b/x11-wm/dwm/files/0009-discord-window-rules.patch new file mode 100644 index 0000000..6f5c541 --- /dev/null +++ b/x11-wm/dwm/files/0009-discord-window-rules.patch @@ -0,0 +1,25 @@ +From 7bb2c8c28b9d0f45690c5f6b779802d057478cac Mon Sep 17 00:00:00 2001 +From: odrling +Date: Fri, 14 May 2021 20:04:15 +0200 +Subject: [PATCH 09/26] discord window rules + +--- + config.def.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/config.def.h b/config.def.h +index 43772e0..a156b91 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -436,6 +436,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) +-- +2.35.1 + diff --git a/x11-wm/dwm/files/0010-apply-one-rule-patch.patch b/x11-wm/dwm/files/0010-apply-one-rule-patch.patch new file mode 100644 index 0000000..c28fb25 --- /dev/null +++ b/x11-wm/dwm/files/0010-apply-one-rule-patch.patch @@ -0,0 +1,25 @@ +From 616f3903df6f3d06b6782df51226ecc7990cbf05 Mon Sep 17 00:00:00 2001 +From: odrling +Date: Fri, 14 May 2021 20:08:27 +0200 +Subject: [PATCH 10/26] apply one rule patch + +--- + patches.def.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/patches.def.h b/patches.def.h +index 3d7b39f..3940626 100644 +--- a/patches.def.h ++++ b/patches.def.h +@@ -802,7 +802,7 @@ + #define ON_EMPTY_KEYS_PATCH 0 + + /* 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. +-- +2.35.1 + diff --git a/x11-wm/dwm/files/0011-add-agordejo-rule.patch b/x11-wm/dwm/files/0011-add-agordejo-rule.patch new file mode 100644 index 0000000..06ab7ee --- /dev/null +++ b/x11-wm/dwm/files/0011-add-agordejo-rule.patch @@ -0,0 +1,24 @@ +From 6dc0a432a9fd282035836876918c60f2641635d7 Mon Sep 17 00:00:00 2001 +From: odrling +Date: Sun, 20 Jun 2021 18:13:17 +0200 +Subject: [PATCH 11/26] add agordejo rule + +--- + config.def.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/config.def.h b/config.def.h +index a156b91..54437fa 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -441,6 +441,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.35.1 + diff --git a/x11-wm/dwm/files/0012-start-easyeffects-on-tag-9.patch b/x11-wm/dwm/files/0012-start-easyeffects-on-tag-9.patch new file mode 100644 index 0000000..bf57ccc --- /dev/null +++ b/x11-wm/dwm/files/0012-start-easyeffects-on-tag-9.patch @@ -0,0 +1,24 @@ +From 6c16f82292dde613a732388fe9d2933b83ca92d0 Mon Sep 17 00:00:00 2001 +From: odrling +Date: Sat, 25 Sep 2021 14:36:07 +0200 +Subject: [PATCH 12/26] 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 54437fa..64fe003 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -441,6 +441,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.35.1 + diff --git a/x11-wm/dwm/files/0013-set-carla-to-tag-9.patch b/x11-wm/dwm/files/0013-set-carla-to-tag-9.patch new file mode 100644 index 0000000..6da08d1 --- /dev/null +++ b/x11-wm/dwm/files/0013-set-carla-to-tag-9.patch @@ -0,0 +1,24 @@ +From 29ca58969c2ebe085e020d0b67c76ad857e3e554 Mon Sep 17 00:00:00 2001 +From: odrling +Date: Thu, 25 Nov 2021 01:15:38 +0100 +Subject: [PATCH 13/26] 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 64fe003..9741a9e 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -440,6 +440,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.35.1 + diff --git a/x11-wm/dwm/files/0014-set-dmenucmd-to-rofi.patch b/x11-wm/dwm/files/0014-set-dmenucmd-to-rofi.patch new file mode 100644 index 0000000..6c51ddd --- /dev/null +++ b/x11-wm/dwm/files/0014-set-dmenucmd-to-rofi.patch @@ -0,0 +1,37 @@ +From 84a1bb4a5dd79de2b152c95149eb43f3756fa014 Mon Sep 17 00:00:00 2001 +From: odrling +Date: Wed, 22 Dec 2021 00:00:07 +0100 +Subject: [PATCH 14/26] set dmenucmd to rofi + +--- + config.def.h | 14 +------------- + 1 file changed, 1 insertion(+), 13 deletions(-) + +diff --git a/config.def.h b/config.def.h +index 9741a9e..a105d88 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -806,19 +806,7 @@ static const char *xkb_layouts[] = { + static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */ + #endif // NODMENU_PATCH + static const char *dmenucmd[] = { +- "dmenu_run", +- #if !NODMENU_PATCH +- "-m", dmenumon, +- #endif // NODMENU_PATCH +- "-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.35.1 + diff --git a/x11-wm/dwm/files/0015-enable-no-border-patch.patch b/x11-wm/dwm/files/0015-enable-no-border-patch.patch new file mode 100644 index 0000000..f71febb --- /dev/null +++ b/x11-wm/dwm/files/0015-enable-no-border-patch.patch @@ -0,0 +1,25 @@ +From 404f34a61723b8c4ead4abdf67d0dbdb553b55a5 Mon Sep 17 00:00:00 2001 +From: odrling +Date: Wed, 20 Apr 2022 13:30:35 +0200 +Subject: [PATCH 15/26] enable no border patch + +--- + patches.def.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/patches.def.h b/patches.def.h +index 3940626..f36a391 100644 +--- a/patches.def.h ++++ b/patches.def.h +@@ -762,7 +762,7 @@ + /* Removes the border when there is only one window visible. + * https://dwm.suckless.org/patches/noborder/ + */ +-#define NOBORDER_PATCH 0 ++#define NOBORDER_PATCH 1 + + /* Enable modifying or removing dmenu in config.def.h which resulted previously in a + * compilation error because two lines of code hardcode dmenu into dwm. +-- +2.35.1 + diff --git a/x11-wm/dwm/files/0016-force-swallow-from-alacritty.patch b/x11-wm/dwm/files/0016-force-swallow-from-alacritty.patch new file mode 100644 index 0000000..8ab1215 --- /dev/null +++ b/x11-wm/dwm/files/0016-force-swallow-from-alacritty.patch @@ -0,0 +1,24 @@ +From 6b58c6fe96d40dd24812a789d53555df6ac03af2 Mon Sep 17 00:00:00 2001 +From: odrling +Date: Wed, 20 Apr 2022 13:52:04 +0200 +Subject: [PATCH 16/26] force swallow from alacritty + +--- + config.def.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/config.def.h b/config.def.h +index a105d88..2463bc0 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -446,6 +446,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.35.1 + diff --git a/x11-wm/dwm/files/0017-remove-browser-rules-and-add-permanent.patch b/x11-wm/dwm/files/0017-remove-browser-rules-and-add-permanent.patch new file mode 100644 index 0000000..f96d8a2 --- /dev/null +++ b/x11-wm/dwm/files/0017-remove-browser-rules-and-add-permanent.patch @@ -0,0 +1,49 @@ +From 93a6397a782fb703cea6a4d90bb22a36cd9502de Mon Sep 17 00:00:00 2001 +From: odrling +Date: Wed, 20 Apr 2022 18:18:33 +0200 +Subject: [PATCH 17/26] 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 2463bc0..6128503 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -436,14 +436,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) +diff --git a/patches.def.h b/patches.def.h +index f36a391..8dd9b72 100644 +--- a/patches.def.h ++++ b/patches.def.h +@@ -679,7 +679,7 @@ + /* Adds rule option for clients to avoid accidental termination by killclient for sticky windows. + * https://dwm.suckless.org/patches/ispermanent/ + */ +-#define ISPERMANENT_PATCH 0 ++#define ISPERMANENT_PATCH 1 + + /* This patch adds key modes (like in vim or emacs) where chains of keyboard shortcuts + * can be performed. +-- +2.35.1 + diff --git a/x11-wm/dwm/files/0018-sendmon-keeptag-patch.patch b/x11-wm/dwm/files/0018-sendmon-keeptag-patch.patch new file mode 100644 index 0000000..e0ecf9b --- /dev/null +++ b/x11-wm/dwm/files/0018-sendmon-keeptag-patch.patch @@ -0,0 +1,46 @@ +From 18a1239defc4dbfad324582ef9040c2aa918bb86 Mon Sep 17 00:00:00 2001 +From: odrling +Date: Wed, 20 Apr 2022 19:13:43 +0200 +Subject: [PATCH 18/26] sendmon: keeptag patch + +--- + dwm.c | 2 ++ + patches.def.h | 4 ++++ + 2 files changed, 6 insertions(+) + +diff --git a/dwm.c b/dwm.c +index 9f70675..fa00ebb 100644 +--- a/dwm.c ++++ b/dwm.c +@@ -3198,11 +3198,13 @@ sendmon(Client *c, Monitor *m) + #if 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 8dd9b72..2517801 100644 +--- a/patches.def.h ++++ b/patches.def.h +@@ -939,6 +939,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.35.1 + diff --git a/x11-wm/dwm/files/0019-taglabels.patch b/x11-wm/dwm/files/0019-taglabels.patch new file mode 100644 index 0000000..45bbff4 --- /dev/null +++ b/x11-wm/dwm/files/0019-taglabels.patch @@ -0,0 +1,31 @@ +From e34c9fc0ba04425d22345161a206f9b4c6960e89 Mon Sep 17 00:00:00 2001 +From: odrling +Date: Wed, 20 Apr 2022 19:31:59 +0200 +Subject: [PATCH 19/26] taglabels + +--- + patches.def.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/patches.def.h b/patches.def.h +index 2517801..3d89feb 100644 +--- a/patches.def.h ++++ b/patches.def.h +@@ -153,12 +153,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/ + */ +-#define BAR_TAGLABELS_PATCH 0 ++#define BAR_TAGLABELS_PATCH 1 + + /* This patch underlines the selected tag, or optionally all tags. + * https://dwm.suckless.org/patches/underlinetags/ +-- +2.35.1 + diff --git a/x11-wm/dwm/files/0020-better-taglabels.patch b/x11-wm/dwm/files/0020-better-taglabels.patch new file mode 100644 index 0000000..899aa1d --- /dev/null +++ b/x11-wm/dwm/files/0020-better-taglabels.patch @@ -0,0 +1,105 @@ +From 30103e0c46d39def5182fdc66993ba528ca4110a Mon Sep 17 00:00:00 2001 +From: odrling +Date: Wed, 20 Apr 2022 20:26:55 +0200 +Subject: [PATCH 20/26] better taglabels + +--- + config.def.h | 8 +++++--- + dwm.c | 7 +++++++ + patch/bar_taglabels.c | 10 ++++------ + 3 files changed, 16 insertions(+), 9 deletions(-) + +diff --git a/config.def.h b/config.def.h +index 6128503..156c5f7 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -92,8 +92,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 +@@ -442,7 +442,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 fa00ebb..5a61cf8 100644 +--- a/dwm.c ++++ b/dwm.c +@@ -327,6 +327,7 @@ struct XkbInfo { + typedef struct Client Client; + struct Client { + char name[256]; ++ char label[48]; + float mina, maxa; + #if CFACTS_PATCH + float cfact; +@@ -506,6 +507,7 @@ typedef struct { + #endif // WINDOWROLERULE_PATCH + const char *instance; + const char *title; ++ const char *label; + const char *wintype; + unsigned int tags; + #if SWITCHTAG_PATCH +@@ -840,6 +842,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]); ++ ++ snprintf(c->label, 48, "%s", class); ++ + #if WINDOWROLERULE_PATCH + gettextprop(c->win, wmatom[WMWindowRole], role, sizeof(role)); + #endif // WINDOWROLERULE_PATCH +@@ -859,6 +864,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); + +-- +2.35.1 + diff --git a/x11-wm/dwm/files/0021-no-swallow-syncplay-mpv.patch b/x11-wm/dwm/files/0021-no-swallow-syncplay-mpv.patch new file mode 100644 index 0000000..796d039 --- /dev/null +++ b/x11-wm/dwm/files/0021-no-swallow-syncplay-mpv.patch @@ -0,0 +1,25 @@ +From 83ead15ffb619d19db900bb76c0ff4e1c1ec9f89 Mon Sep 17 00:00:00 2001 +From: odrling +Date: Thu, 21 Apr 2022 01:55:12 +0200 +Subject: [PATCH 21/26] no swallow syncplay mpv + +--- + config.def.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/config.def.h b/config.def.h +index 156c5f7..49dc7dd 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -441,7 +441,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.35.1 + diff --git a/x11-wm/dwm/files/0022-add-thunderbird-and-ardour-labels.patch b/x11-wm/dwm/files/0022-add-thunderbird-and-ardour-labels.patch new file mode 100644 index 0000000..5e66772 --- /dev/null +++ b/x11-wm/dwm/files/0022-add-thunderbird-and-ardour-labels.patch @@ -0,0 +1,33 @@ +From 685aa555d1d45dc4f83010b8130bd8647be0c000 Mon Sep 17 00:00:00 2001 +From: odrling +Date: Thu, 21 Apr 2022 13:39:36 +0200 +Subject: [PATCH 22/26] 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 49dc7dd..8545d82 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -437,7 +437,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) +@@ -445,6 +445,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.35.1 + diff --git a/x11-wm/dwm/files/0023-use-rofi-run.patch b/x11-wm/dwm/files/0023-use-rofi-run.patch new file mode 100644 index 0000000..ea86de9 --- /dev/null +++ b/x11-wm/dwm/files/0023-use-rofi-run.patch @@ -0,0 +1,25 @@ +From f0c01408a02cfb5ca8fd7948adea1bb3d1208650 Mon Sep 17 00:00:00 2001 +From: odrling +Date: Thu, 5 May 2022 17:29:55 +0200 +Subject: [PATCH 23/26] 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 8545d82..5366375 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -806,7 +806,7 @@ static const char *xkb_layouts[] = { + static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */ + #endif // NODMENU_PATCH + 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 }; +-- +2.35.1 + diff --git a/x11-wm/dwm/files/0024-add-st-as-terminal.patch b/x11-wm/dwm/files/0024-add-st-as-terminal.patch new file mode 100644 index 0000000..94005f7 --- /dev/null +++ b/x11-wm/dwm/files/0024-add-st-as-terminal.patch @@ -0,0 +1,24 @@ +From 5f78d8bce9e71cd3c296eb3438b97f862fe8e317 Mon Sep 17 00:00:00 2001 +From: odrling +Date: Thu, 26 May 2022 22:32:57 +0200 +Subject: [PATCH 24/26] add st as terminal + +--- + config.def.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/config.def.h b/config.def.h +index 5366375..bdb0d22 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -443,6 +443,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.35.1 + diff --git a/x11-wm/dwm/files/0025-add-discord-icon-ig.patch b/x11-wm/dwm/files/0025-add-discord-icon-ig.patch new file mode 100644 index 0000000..9804923 --- /dev/null +++ b/x11-wm/dwm/files/0025-add-discord-icon-ig.patch @@ -0,0 +1,24 @@ +From fc248a3e01d1930e884ba32b82fa9ef966b42793 Mon Sep 17 00:00:00 2001 +From: odrling +Date: Mon, 30 May 2022 01:53:40 +0200 +Subject: [PATCH 25/26] add discord icon ig + +--- + config.def.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/config.def.h b/config.def.h +index bdb0d22..86ad4d6 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -444,6 +444,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.35.1 + diff --git a/x11-wm/dwm/files/0026-set-correct-fontawesome-discord-character.patch b/x11-wm/dwm/files/0026-set-correct-fontawesome-discord-character.patch new file mode 100644 index 0000000..19e20c4 --- /dev/null +++ b/x11-wm/dwm/files/0026-set-correct-fontawesome-discord-character.patch @@ -0,0 +1,25 @@ +From f25e65031d6dbdb01a4fd209ff2f75be92526a75 Mon Sep 17 00:00:00 2001 +From: odrling +Date: Thu, 2 Jun 2022 16:00:25 +0200 +Subject: [PATCH 26/26] 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 86ad4d6..74537af 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -444,7 +444,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.35.1 +