From 2c180b8d9cf3e962cf51224dde1d143fa15920dd Mon Sep 17 00:00:00 2001 From: bakkeby Date: Mon, 29 Aug 2022 21:49:41 +0200 Subject: Bump to c2b748e. Remove dmenumon variable Reasoning: Since 2011 dmenu has been capable of working out which monitor currently has focus in a Xinerama setup, making the use of the -m flag more or less redundant. This is easily demonstrated by using dmenu in any other window manager. There used to be a nodmenu patch that provided these changes: https://git.suckless.org/sites/commit/ed68e3629de4ef2ca2d3f8893a79fb570b4c0cbc.html but this was removed on the basis that it was very easy to work out and apply manually if needed. The proposal here is to remove this dependency from dwm. The mechanism of the dmenumon variable could be provided via a patch if need be. The edge case scenario that dmenu does not handle on its own, and the effect of removing this mechanism, is that if the user trigger focusmon via keybindings to change focus to another monitor that has no clients, then dmenu will open on the monitor containing the window with input focus (or the monitor with the mouse cursor if no windows have input focus). If this edge case is important to cover then this can be addressed by setting input focus to selmon->barwin in the focus function if there is no client to give focus to (rather than giving focus back to the root window). Ref. https://git.suckless.org/dwm/commit/c2b748e7931e5f28984efc236f9b1a212dbc65e8.html --- dwm.c | 17 ----------------- 1 file changed, 17 deletions(-) (limited to 'dwm.c') diff --git a/dwm.c b/dwm.c index 1756a6b..794fab7 100644 --- a/dwm.c +++ b/dwm.c @@ -3953,10 +3953,6 @@ spawn(const Arg *arg) #if RIODRAW_PATCH pid_t pid; #endif // RIODRAW_PATCH - #if !NODMENU_PATCH - if (arg->v == dmenucmd) - dmenumon[0] = '0' + selmon->num; - #endif // NODMENU_PATCH #if RIODRAW_PATCH if ((pid = fork()) == 0) @@ -5076,7 +5072,6 @@ main(int argc, char *argv[]) else if (!strcmp("-sf", argv[i])) /* selected foreground color */ colors[SchemeSel][0] = argv[++i]; #endif // !BAR_VTCOLORS_PATCH - #if NODMENU_PATCH else if (!strcmp("-df", argv[i])) /* dmenu font */ dmenucmd[2] = argv[++i]; else if (!strcmp("-dnb", argv[i])) /* dmenu normal background color */ @@ -5087,18 +5082,6 @@ main(int argc, char *argv[]) dmenucmd[8] = argv[++i]; else if (!strcmp("-dsf", argv[i])) /* dmenu selected foreground color */ dmenucmd[10] = argv[++i]; - #else - else if (!strcmp("-df", argv[i])) /* dmenu font */ - dmenucmd[4] = argv[++i]; - else if (!strcmp("-dnb", argv[i])) /* dmenu normal background color */ - dmenucmd[6] = argv[++i]; - else if (!strcmp("-dnf", argv[i])) /* dmenu normal foreground color */ - dmenucmd[8] = argv[++i]; - else if (!strcmp("-dsb", argv[i])) /* dmenu selected background color */ - dmenucmd[10] = argv[++i]; - else if (!strcmp("-dsf", argv[i])) /* dmenu selected foreground color */ - dmenucmd[12] = argv[++i]; - #endif // NODMENU_PATCH else die(help()); #else if (argc == 2 && !strcmp("-v", argv[1])) -- cgit v1.2.3