From 0156c667ffa9185896bed2fffcf15077b599c826 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 | 120 +++++++++++++++++++++++++++++--------------------- patches.def.h | 50 ++++++++++----------- 2 files changed, 95 insertions(+), 75 deletions(-) diff --git a/config.def.h b/config.def.h index 40c9f46..bcf19a2 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"; @@ -366,7 +366,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 @@ -457,11 +457,10 @@ static const Rule rules[] = { RULE(.wintype = WTYPE "UTILITY", .isfloating = 1) RULE(.wintype = WTYPE "TOOLBAR", .isfloating = 1) RULE(.wintype = WTYPE "SPLASH", .isfloating = 1) - RULE(.class = "Gimp", .tags = 1 << 4) - RULE(.class = "Firefox", .tags = 1 << 7) - #if RENAMED_SCRATCHPADS_PATCH - RULE(.instance = "spterm", .scratchkey = 's', .isfloating = 1) - #elif SCRATCHPADS_PATCH + RULE(.class = "Firefox", .tags = 1 << 7, .switchtag = 2) + RULE(.class = "Ardour", .tags = 1 << 8) + RULE(.class = "mpv", .instance = "syncplay-mpv", .monitor = 1) + #if SCRATCHPADS_PATCH RULE(.instance = "spterm", .tags = SPTAG(0), .isfloating = 1) #endif // SCRATCHPADS_PATCH }; @@ -615,13 +614,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 @@ -680,7 +679,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 @@ -735,7 +734,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} }, \ @@ -836,6 +835,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 @@ -866,7 +869,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 } }, @@ -990,14 +993,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 @@ -1013,9 +1016,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 @@ -1078,10 +1081,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 @@ -1218,23 +1221,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 3cc9756..9c50442 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 @@ -878,7 +878,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. @@ -1014,7 +1014,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/ @@ -1040,12 +1040,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, @@ -1062,7 +1062,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 @@ -1098,7 +1098,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 @@ -1140,7 +1140,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. @@ -1238,7 +1238,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. @@ -1266,7 +1266,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/ @@ -1328,7 +1328,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/ @@ -1353,7 +1353,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