diff options
author | Christian Hesse <mail@eworm.de> | 2016-10-05 23:54:20 +0200 |
---|---|---|
committer | Christian Hesse <mail@eworm.de> | 2016-10-05 23:54:20 +0200 |
commit | 071597337d00070b44e67fcc1458bcf1f5f343a6 (patch) | |
tree | dccce6c41dbab8b9a78c777463377e70aeb04eac /mpd-notification.c | |
parent | 90b01922ea7622de0eab2216912445040389ed5c (diff) | |
parent | 86aaf24691e1d9035a3db86e2df03c49e7675d6c (diff) | |
download | mpd-notification-071597337d00070b44e67fcc1458bcf1f5f343a6.tar.gz mpd-notification-071597337d00070b44e67fcc1458bcf1f5f343a6.tar.zst |
Merge branch 'config'
Diffstat (limited to 'mpd-notification.c')
-rw-r--r-- | mpd-notification.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/mpd-notification.c b/mpd-notification.c index f504836..543f60a 100644 --- a/mpd-notification.c +++ b/mpd-notification.c @@ -176,6 +176,7 @@ char * append_string(char * string, const char * format, const char delim, const /*** main ***/ int main(int argc, char ** argv) { + dictionary * ini = NULL; const char * title = NULL, * artist = NULL, * album = NULL; char * notifystr = NULL; GdkPixbuf * pixbuf = NULL; @@ -198,6 +199,17 @@ int main(int argc, char ** argv) { music_dir = getenv("XDG_MUSIC_DIR"); + /* parse config file */ + if (chdir(getenv("HOME")) == 0 && access(".config/mpd-notification.conf", R_OK) == 0 && + (ini = iniparser_load(".config/mpd-notification.conf")) != NULL) { + file_workaround = iniparser_getboolean(ini, ":notification-file-workaround", file_workaround); + mpd_host = iniparser_getstring(ini, ":host", mpd_host); + mpd_port = iniparser_getint(ini, ":port", mpd_port); + notification_timeout = iniparser_getint(ini, ":timeout", notification_timeout); + music_dir = iniparser_getstring(ini, ":music-dir", music_dir); + scale = iniparser_getint(ini, ":scale", scale); + } + /* get the verbose status */ while ((i = getopt_long(argc, argv, optstring, options_long, NULL)) != -1) { switch (i) { @@ -435,5 +447,8 @@ nonotification: g_object_unref(G_OBJECT(notification)); notify_uninit(); + if (ini != NULL) + iniparser_freedict(ini); + return EXIT_SUCCESS; } |