From 5fab41887ad1bf889afe02b83e8c73bd325fa2e3 Mon Sep 17 00:00:00 2001 From: o9000 Date: Fri, 10 Mar 2017 17:15:36 +0100 Subject: [PATCH] create .config dir if it does not exist (issue #629) --- src/config.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/config.c b/src/config.c index 9f7f6c4..f5b3547 100644 --- a/src/config.c +++ b/src/config.c @@ -1274,6 +1274,11 @@ gboolean config_read_default_path() // generate config file fprintf(stderr, "tint2 warning: could not find a config file!\n"); + // According to the XDG Base Directory Specification (https://specifications.freedesktop.org/basedir-spec/basedir-spec-0.6.html) + // if the user's config directory does not exist, we should create it with permissions set to 0700. + if (!g_file_test(g_get_user_config_dir(), G_FILE_TEST_IS_DIR)) + g_mkdir(g_get_user_config_dir(), 0700); + gchar *dir = g_build_filename(g_get_user_config_dir(), "tint2", NULL); if (!g_file_test(dir, G_FILE_TEST_IS_DIR)) g_mkdir(dir, 0700);