From: Anselm R Garbe <anselm@garbe.us>
Date: Fri, 2 Aug 2013 20:40:20 +0000 (+0200)
Subject: applied improved version of Martti Kühne's dmenu/multi monitor approach from dwm... 
X-Git-Url: https://git.xinqibao.xyz/dwm.git/commitdiff_plain/6af273771cb0e28e4394c78ab0322f77025a57f3?ds=sidebyside

applied improved version of Martti Kühne's dmenu/multi monitor approach from dwm, no dmenuspawn required
---

diff --git a/config.def.h b/config.def.h
index 2fde8bc..875885b 100644
--- a/config.def.h
+++ b/config.def.h
@@ -50,7 +50,8 @@ static const Layout layouts[] = {
 #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
 
 /* commands */
-static const char *dmenucmd[] = { "dmenu_run", "-fn", font, "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor, NULL };
+static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
+static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", font, "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor, NULL };
 static const char *termcmd[]  = { "st", NULL };
 
 static Key keys[] = {
diff --git a/dwm.c b/dwm.c
index 314adf4..6f716e9 100644
--- a/dwm.c
+++ b/dwm.c
@@ -1569,6 +1569,8 @@ sigchld(int unused) {
 
 void
 spawn(const Arg *arg) {
+	if(arg->v == dmenucmd)
+		dmenumon[0] = '0' + selmon->num;
 	if(fork() == 0) {
 		if(dpy)
 			close(ConnectionNumber(dpy));