aboutsummaryrefslogtreecommitdiffhomepage
path: root/uzbl.c
diff options
context:
space:
mode:
authorGravatar Barrucadu <mike@barrucadu.co.uk>2009-04-27 19:00:21 +0100
committerGravatar Barrucadu <mike@barrucadu.co.uk>2009-04-27 19:00:21 +0100
commit53963e8d449bec61d537e198ac884910b9fd1eee (patch)
tree34306ded4e9af65828cedca477a244e793ceaa13 /uzbl.c
parenta8587581191f237efeac57ff79b56a08ca5196d8 (diff)
XDG_CONFIG_HOME now works (set in main().
Diffstat (limited to 'uzbl.c')
-rw-r--r--uzbl.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/uzbl.c b/uzbl.c
index de00c5f..0af80c5 100644
--- a/uzbl.c
+++ b/uzbl.c
@@ -101,7 +101,7 @@ typedef struct
} Command;
/* XDG stuff */
-char *XDG_CONFIG_HOME_default = "~/.config";
+char *XDG_CONFIG_HOME_default[256];
char *XDG_CONFIG_DIRS_default = "/etc/xdg";
static void
@@ -448,8 +448,8 @@ settings_init () {
if (! config_file) {
const char* XDG_CONFIG_HOME = getenv ("XDG_CONFIG_HOME");
char conf[256];
- if (! XDG_CONFIG_HOME) {
- XDG_CONFIG_HOME = XDG_CONFIG_HOME_default;
+ if (! XDG_CONFIG_HOME || ! strcmp (XDG_CONFIG_HOME, "")) {
+ XDG_CONFIG_HOME = (char *)XDG_CONFIG_HOME_default;
}
printf("XDG_CONFIG_HOME: %s\n", XDG_CONFIG_HOME);
@@ -461,7 +461,7 @@ settings_init () {
} else {
// Now we check $XDG_CONFIG_DIRS
char *XDG_CONFIG_DIRS = getenv ("XDG_CONFIG_DIRS");
- if (! XDG_CONFIG_DIRS)
+ if (! XDG_CONFIG_DIRS || ! strcmp (XDG_CONFIG_DIRS, ""))
XDG_CONFIG_DIRS = XDG_CONFIG_DIRS_default;
printf("XDG_CONFIG_DIRS: %s\n", XDG_CONFIG_DIRS);
@@ -579,6 +579,9 @@ main (int argc, char* argv[]) {
if (!g_thread_supported ())
g_thread_init (NULL);
+ strcat ((char *) XDG_CONFIG_HOME_default, getenv ("HOME"));
+ strcat ((char *) XDG_CONFIG_HOME_default, "/.config");
+
GError *error = NULL;
GOptionContext* context = g_option_context_new ("- some stuff here maybe someday");
g_option_context_add_main_entries (context, entries, NULL);