URI: 
       applied improved version of Martti Kühne's dmenu/multi monitor approach from dwm, no dmenuspawn required - dwm - dynamic window manager
  HTML git clone https://git.parazyd.org/dwm
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 6af273771cb0e28e4394c78ab0322f77025a57f3
   DIR parent 4fb31e08968c5058362021887fab4bbea746aecf
  HTML Author: Anselm R Garbe <anselm@garbe.us>
       Date:   Fri,  2 Aug 2013 22:40:20 +0200
       
       applied improved version of Martti Kühne's dmenu/multi monitor approach from dwm, no dmenuspawn required
       
       Diffstat:
         M config.def.h                        |       3 ++-
         M dwm.c                               |       2 ++
       
       2 files changed, 4 insertions(+), 1 deletion(-)
       ---
   DIR diff --git 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[] = {
   DIR diff --git 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));