aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2013-04-24 10:57:03 +0100
committerNicholas Marriott <nicholas.marriott@gmail.com>2013-04-24 10:57:03 +0100
commit4f3c31a6b63f4489bfc672b510036fd8d9491595 (patch)
tree9f402212e792abe3fc58f4505ed909236a6e9a17
parent11b90bc9591b4b101efef1f8a9a0d9656d2953c9 (diff)
downloadrtmux-4f3c31a6b63f4489bfc672b510036fd8d9491595.tar.gz
rtmux-4f3c31a6b63f4489bfc672b510036fd8d9491595.tar.bz2
rtmux-4f3c31a6b63f4489bfc672b510036fd8d9491595.zip
Use sysconfdir for the location of global tmux.conf (but default it to /etc),
based on changes from Dagobert Michelsen.
-rw-r--r--Makefile.am7
-rw-r--r--configure.ac3
-rw-r--r--server.c8
-rw-r--r--tmux.1.in6
-rw-r--r--tmux.c2
-rw-r--r--tmux.h4
6 files changed, 15 insertions, 15 deletions
diff --git a/Makefile.am b/Makefile.am
index c131940a..726582a5 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -15,7 +15,7 @@ dist-hook:
find $(distdir) -name .svn -type d|xargs rm -Rf
# Preprocessor flags.
-CPPFLAGS += @XOPEN_DEFINES@
+CPPFLAGS += @XOPEN_DEFINES@ -DTMUX_CONF="\"$(sysconfdir)/tmux.conf\""
# glibc as usual does things ass-backwards and hides useful things by default,
# so everyone has to add this.
@@ -240,9 +240,10 @@ endif
# Build tmux.1 in the right format.
tmux.1: tmux.1.in
if test x@MANFORMAT@ = xmdoc; then \
- cp tmux.1.in tmux.1; \
+ sed -e "s|@SYSCONFDIR@|$(sysconfdir)|g" tmux.1.in >tmux.1; \
else \
- $(AWK) -fmdoc2man.awk <tmux.1.in >tmux.1; \
+ sed -e "s|@SYSCONFDIR@|$(sysconfdir)|g" tmux.1.in| \
+ $(AWK) -fmdoc2man.awk >tmux.1; \
fi
# Update SF web site.
diff --git a/configure.ac b/configure.ac
index 80cf1266..590b9db0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,6 +18,9 @@ AC_PROG_CC
AM_PROG_CC_C_O
AC_PROG_INSTALL
+# Default tmux.conf goes in /etc not ${prefix}/etc.
+test "$sysconfdir" = '${prefix}/etc' && sysconfdir=/etc
+
# Check for various headers. Alternatives included from compat.h.
AC_CHECK_HEADERS(
[ \
diff --git a/server.c b/server.c
index 4bfa9185..bd28d517 100644
--- a/server.c
+++ b/server.c
@@ -170,13 +170,13 @@ server_start(int lockfd, char *lockfile)
cfg_references = 1;
ARRAY_INIT(&cfg_causes);
- if (access(SYSTEM_CFG, R_OK) == 0) {
- if (load_cfg(SYSTEM_CFG, cfg_cmd_q, &cause) == -1) {
- xasprintf(&cause, "%s: %s", SYSTEM_CFG, cause);
+ if (access(TMUX_CONF, R_OK) == 0) {
+ if (load_cfg(TMUX_CONF, cfg_cmd_q, &cause) == -1) {
+ xasprintf(&cause, "%s: %s", TMUX_CONF, cause);
ARRAY_ADD(&cfg_causes, cause);
}
} else if (errno != ENOENT) {
- xasprintf(&cause, "%s: %s", SYSTEM_CFG, strerror(errno));
+ xasprintf(&cause, "%s: %s", TMUX_CONF, strerror(errno));
ARRAY_ADD(&cfg_causes, cause);
}
if (cfg_file != NULL) {
diff --git a/tmux.1.in b/tmux.1.in
index 98bf9574..7f783b86 100644
--- a/tmux.1.in
+++ b/tmux.1.in
@@ -122,7 +122,7 @@ Specify an alternative configuration file.
By default,
.Nm
loads the system configuration file from
-.Pa /etc/tmux.conf ,
+.Pa @SYSCONFDIR@/tmux.conf ,
if present, then looks for a user configuration file at
.Pa ~/.tmux.conf .
.Pp
@@ -3705,12 +3705,12 @@ was renamed to
.Ar name .
.El
.Sh FILES
-.Bl -tag -width "/etc/tmux.confXXX" -compact
+.Bl -tag -width "@SYSCONFDIR@/tmux.confXXX" -compact
.It Pa ~/.tmux.conf
Default
.Nm
configuration file.
-.It Pa /etc/tmux.conf
+.It Pa @SYSCONFDIR@/tmux.conf
System-wide configuration file.
.El
.Sh EXAMPLES
diff --git a/tmux.c b/tmux.c
index 2916bbb5..606c574f 100644
--- a/tmux.c
+++ b/tmux.c
@@ -363,7 +363,7 @@ main(int argc, char **argv)
if (pw != NULL)
home = pw->pw_dir;
}
- xasprintf(&cfg_file, "%s/%s", home, DEFAULT_CFG);
+ xasprintf(&cfg_file, "%s/.tmux.conf", home);
if (access(cfg_file, R_OK) != 0 && errno == ENOENT) {
free(cfg_file);
cfg_file = NULL;
diff --git a/tmux.h b/tmux.h
index f0b9edf0..fc5561b5 100644
--- a/tmux.h
+++ b/tmux.h
@@ -39,10 +39,6 @@
extern char *__progname;
extern char **environ;
-/* Default configuration files. */
-#define DEFAULT_CFG ".tmux.conf"
-#define SYSTEM_CFG "/etc/tmux.conf"
-
/* Default prompt history length. */
#define PROMPT_HISTORY 100