diff options
| author | Craig Jennings <craigmartinjennings@gmail.com> | 2023-08-04 15:19:13 -0500 |
|---|---|---|
| committer | Craig Jennings <craigmartinjennings@gmail.com> | 2023-08-04 15:19:13 -0500 |
| commit | f7f5d7c1677996eaa13790f2e528238af412c798 (patch) | |
| tree | a396eeb0041bcb0962675c0e4f2ccd6989de591d | |
| parent | d72d479bbf4b1bbe35de3f8827839a78e9197840 (diff) | |
force dwm to respect $TERMINAL and $BROWSER vars
for termcmd and browsercmd
| -rw-r--r-- | config.def.h | 6 | ||||
| -rw-r--r-- | dwm.c | 13 |
2 files changed, 16 insertions, 3 deletions
diff --git a/config.def.h b/config.def.h index e5300f1..561c758 100644 --- a/config.def.h +++ b/config.def.h @@ -140,9 +140,11 @@ static const Layout layouts[] = { static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */ static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; -static const char *termcmd[] = { "st", NULL }; +#define TERMINAL_ENVVAR "TERMINAL" +#define BROWSER_ENVVAR "BROWSER" +static const char *termcmd[] = { "st", NULL }; // default for terminal; respects $TERMINAL +static const char *browsercmd[] = { "firefox", NULL }; // default for browser; respects $BROWSER static const char *editorcmd[] = { "em", NULL }; -static const char *browsercmd[] = { "firefox", NULL }; static const char *torbrowsercmd[] = { "tor-browser", NULL }; static const char *calccmd[] = { "gnome-calculator", NULL }; @@ -1980,7 +1980,18 @@ setup(void) Atom utf8string; /* clean up any zombies immediately */ - sigchld(0); + sigchld(0); + + /* load environment variable(s) */ + termcmd[0] = getenv(TERMINAL_ENVVAR); + if (termcmd[0] == NULL) { + die("couldn't load " TERMINAL_ENVVAR " environment variable."); + } + browsercmd[0] = getenv(BROWSER_ENVVAR); + if (browsercmd[0] == NULL) { + die("couldn't load " BROWSER_ENVVAR " environment variable."); + } + /* init screen */ screen = DefaultScreen(dpy); |
