summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--calmwm.c9
-rw-r--r--calmwm.h2
-rw-r--r--conf.c2
3 files changed, 6 insertions, 7 deletions
diff --git a/calmwm.c b/calmwm.c
index 25df3b8..03d594b 100644
--- a/calmwm.c
+++ b/calmwm.c
@@ -42,7 +42,6 @@ Atom			 cwmh[CWMH_NITEMS];
 Atom			 ewmh[EWMH_NITEMS];
 struct screen_q		 Screenq = TAILQ_HEAD_INITIALIZER(Screenq);
 struct conf		 Conf;
-const char		*homedir;
 volatile sig_atomic_t	 cwm_status;
 
 static void	sighdlr(int);
@@ -82,16 +81,16 @@ main(int argc, char **argv)
 	if (signal(SIGCHLD, sighdlr) == SIG_ERR)
 		err(1, "signal");
 
-	if ((homedir = getenv("HOME")) == NULL || *homedir == '\0') {
+	if ((Conf.homedir = getenv("HOME")) == NULL || Conf.homedir[0] == '\0') {
 		pw = getpwuid(getuid());
 		if (pw != NULL && pw->pw_dir != NULL && *pw->pw_dir != '\0')
-			homedir = pw->pw_dir;
+			Conf.homedir = pw->pw_dir;
 		else
-			homedir = "/";
+			Conf.homedir = "/";
 	}
 
 	if (conf_file == NULL)
-		xasprintf(&conf_path, "%s/%s", homedir, CONFFILE);
+		xasprintf(&conf_path, "%s/%s", Conf.homedir, CONFFILE);
 	else
 		conf_path = xstrdup(conf_file);
 
diff --git a/calmwm.h b/calmwm.h
index 473784e..d43a9bd 100644
--- a/calmwm.h
+++ b/calmwm.h
@@ -293,6 +293,7 @@ struct conf {
 	Cursor			 cursor[CF_NITEMS];
 	int			 xrandr;
 	int			 xrandr_event_base;
+	char			*homedir;
 	char			*wm_argv;
 };
 
@@ -374,7 +375,6 @@ extern Atom				 cwmh[CWMH_NITEMS];
 extern Atom				 ewmh[EWMH_NITEMS];
 extern struct screen_q			 Screenq;
 extern struct conf			 Conf;
-extern const char			*homedir;
 
 __dead void		 usage(void);
 
diff --git a/conf.c b/conf.c
index 2022527..02ae7c8 100644
--- a/conf.c
+++ b/conf.c
@@ -297,7 +297,7 @@ conf_init(struct conf *c)
 	conf_cmd_add(c, "term", "xterm");
 
 	(void)snprintf(c->known_hosts, sizeof(c->known_hosts), "%s/%s",
-	    homedir, ".ssh/known_hosts");
+	    c->homedir, ".ssh/known_hosts");
 
 	c->font = xstrdup("sans-serif:pixelsize=14:bold");
 	c->wmname = xstrdup("CWM");