summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <craigmartinjennings@gmail.com>2023-08-04 15:19:13 -0500
committerCraig Jennings <craigmartinjennings@gmail.com>2023-08-04 15:19:13 -0500
commitf7f5d7c1677996eaa13790f2e528238af412c798 (patch)
treea396eeb0041bcb0962675c0e4f2ccd6989de591d
parentd72d479bbf4b1bbe35de3f8827839a78e9197840 (diff)
force dwm to respect $TERMINAL and $BROWSER vars
for termcmd and browsercmd
-rw-r--r--config.def.h6
-rw-r--r--dwm.c13
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 };
diff --git a/dwm.c b/dwm.c
index b48b6e5..d01d922 100644
--- a/dwm.c
+++ b/dwm.c
@@ -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);