Commit 87b73284 authored by Alexander Gehrke's avatar Alexander Gehrke Committed by Max Kellermann

CommandLine.cxx: look for config file in XDG_CONFIG_HOME too

Look for "$XDG_CONFIG_HOME/mpd/mpd.conf", similar to where mpd looks for the file under Windows.
parent 3f846cf6
...@@ -196,9 +196,9 @@ Run ...@@ -196,9 +196,9 @@ Run
$ mpd <config file> $ mpd <config file>
First default is ~/.mpdconf then ~/.mpd/mpd.conf then /etc/mpd.conf. If First default is $XDG_CONFIG_HOME/mpd/mpd.conf then ~/.mpdconf then
neither of these exist a mpd configuration file must be specified at ~/.mpd/mpd.conf then /etc/mpd.conf. If neither of these exist a mpd
runtime. configuration file must be specified at runtime.
A sample config file is included with the source of MPD, mpdconf.example. A sample config file is included with the source of MPD, mpdconf.example.
......
...@@ -12,8 +12,8 @@ stores info about all available music, and this info can be easily searched and ...@@ -12,8 +12,8 @@ stores info about all available music, and this info can be easily searched and
retrieved. Player control, info retrieval, and playlist management can all be retrieved. Player control, info retrieval, and playlist management can all be
managed remotely. managed remotely.
MPD searches for a config file in \fB~/.mpdconf\fP then \fB/etc/mpd.conf\fP or MPD searches for a config file in \fB$XDG_CONFIG_HOME/mpd/mpd.conf\fP then
uses CONF_FILE. \fB~/.mpdconf\fP then \fB/etc/mpd.conf\fP or uses CONF_FILE.
Read more about MPD at <\fBhttp://www.musicpd.org/\fP>. Read more about MPD at <\fBhttp://www.musicpd.org/\fP>.
.SH OPTIONS .SH OPTIONS
......
...@@ -3,8 +3,9 @@ ...@@ -3,8 +3,9 @@
mpd.conf \- Music Player Daemon configuration file mpd.conf \- Music Player Daemon configuration file
.SH DESCRIPTION .SH DESCRIPTION
\fBmpd.conf\fP is the configuration file for mpd(1). If not specified on the \fBmpd.conf\fP is the configuration file for mpd(1). If not specified on the
command line, MPD first searches for it at \fB~/.mpdconf\fP then at command line, MPD first searches for it at \fB$XDG_CONFIG_HOME/mpd/mpd.conf\fP
\fB~/.mpd/mpd.conf\fP and then in \fB/etc/mpd.conf\fP. then at \fB~/.mpdconf\fP then at \fB~/.mpd/mpd.conf\fP and then in
\fB/etc/mpd.conf\fP.
Lines beginning with a "#" character are comments. All other non-empty lines Lines beginning with a "#" character are comments. All other non-empty lines
specify parameters and their values. These lines contain the parameter name specify parameters and their values. These lines contain the parameter name
......
...@@ -54,6 +54,7 @@ ...@@ -54,6 +54,7 @@
#else /* G_OS_WIN32 */ #else /* G_OS_WIN32 */
#define USER_CONFIG_FILE_LOCATION1 ".mpdconf" #define USER_CONFIG_FILE_LOCATION1 ".mpdconf"
#define USER_CONFIG_FILE_LOCATION2 ".mpd/mpd.conf" #define USER_CONFIG_FILE_LOCATION2 ".mpd/mpd.conf"
#define USER_CONFIG_FILE_LOCATION_XDG "mpd/mpd.conf"
#endif #endif
static GQuark static GQuark
...@@ -219,7 +220,12 @@ parse_cmdline(int argc, char **argv, struct options *options, ...@@ -219,7 +220,12 @@ parse_cmdline(int argc, char **argv, struct options *options,
return ReadConfigFile(path, error_r); return ReadConfigFile(path, error_r);
} }
#else /* G_OS_WIN32 */ #else /* G_OS_WIN32 */
Path path = PathBuildChecked(Path::FromUTF8(g_get_home_dir()), Path path = PathBuildChecked(Path::FromUTF8(g_get_user_config_dir()),
USER_CONFIG_FILE_LOCATION_XDG);
if (!path.IsNull() && FileExists(path))
return ReadConfigFile(path, error_r);
path = PathBuildChecked(Path::FromUTF8(g_get_home_dir()),
USER_CONFIG_FILE_LOCATION1); USER_CONFIG_FILE_LOCATION1);
if (!path.IsNull() && FileExists(path)) if (!path.IsNull() && FileExists(path))
return ReadConfigFile(path, error_r); return ReadConfigFile(path, error_r);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment