x11-wm/dwm: patches on top of upstream

This commit is contained in:
odrling 2022-06-21 13:36:40 +02:00
parent 929fef5302
commit 0f1c3e0843
No known key found for this signature in database
GPG Key ID: A0145F975F9F8B75
27 changed files with 1401 additions and 1 deletions

View File

@ -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

View File

@ -0,0 +1,470 @@
From 38b0d257f4f52e4312ce1d04512894e80eb66481 Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,29 @@
From 47cc1e563f95437fd4ee5cb0adbb41750e0b793f Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,108 @@
From 0d7763c00e74b3a07d323af1f7962c8434ba5082 Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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:<signum>"` */
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

View File

@ -0,0 +1,38 @@
From 4b8ad296cd799440050eeaa66854c3d9205d4f3d Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,27 @@
From 4ff89f8015868c02dd7ea7754f6a5a44f5ed82be Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,34 @@
From 4d2f2055fa38b4cc6546c558f8706c6d75c36812 Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,24 @@
From 1afda29caed01f66fed3bcd5838b6228221ede70 Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,47 @@
From af8e2a984cca8688d6146e47cb98b6b398b2df52 Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,25 @@
From 7bb2c8c28b9d0f45690c5f6b779802d057478cac Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,25 @@
From 616f3903df6f3d06b6782df51226ecc7990cbf05 Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,24 @@
From 6dc0a432a9fd282035836876918c60f2641635d7 Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,24 @@
From 6c16f82292dde613a732388fe9d2933b83ca92d0 Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,24 @@
From 29ca58969c2ebe085e020d0b67c76ad857e3e554 Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,37 @@
From 84a1bb4a5dd79de2b152c95149eb43f3756fa014 Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,25 @@
From 404f34a61723b8c4ead4abdf67d0dbdb553b55a5 Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,24 @@
From 6b58c6fe96d40dd24812a789d53555df6ac03af2 Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,49 @@
From 93a6397a782fb703cea6a4d90bb22a36cd9502de Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,46 @@
From 18a1239defc4dbfad324582ef9040c2aa918bb86 Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,31 @@
From e34c9fc0ba04425d22345161a206f9b4c6960e89 Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,105 @@
From 30103e0c46d39def5182fdc66993ba528ca4110a Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,25 @@
From 83ead15ffb619d19db900bb76c0ff4e1c1ec9f89 Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,33 @@
From 685aa555d1d45dc4f83010b8130bd8647be0c000 Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,25 @@
From f0c01408a02cfb5ca8fd7948adea1bb3d1208650 Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,24 @@
From 5f78d8bce9e71cd3c296eb3438b97f862fe8e317 Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,24 @@
From fc248a3e01d1930e884ba32b82fa9ef966b42793 Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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

View File

@ -0,0 +1,25 @@
From f25e65031d6dbdb01a4fd209ff2f75be92526a75 Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
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