[gnome-session] autostart-app: Add support for absolute paths on AutostartCondition
- From: Mario Sanchez Prada <msanchez src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-session] autostart-app: Add support for absolute paths on AutostartCondition
- Date: Sun, 5 Feb 2017 09:32:53 +0000 (UTC)
commit 21690a7f09bd477ecdefe31f547081d3b1bb1d99
Author: Mario Sanchez Prada <mario endlessm com>
Date: Fri Feb 3 14:36:36 2017 +0000
autostart-app: Add support for absolute paths on AutostartCondition
This allows specifying in AutostartCondition paths to files that
we would like to monitor outside the user's config directory by
using absolute paths.
https://bugzilla.gnome.org/show_bug.cgi?id=777994
gnome-session/gsm-autostart-app.c | 18 ++++++++++++------
1 files changed, 12 insertions(+), 6 deletions(-)
---
diff --git a/gnome-session/gsm-autostart-app.c b/gnome-session/gsm-autostart-app.c
index 1dc3ba3..870b151 100644
--- a/gnome-session/gsm-autostart-app.c
+++ b/gnome-session/gsm-autostart-app.c
@@ -470,6 +470,14 @@ unless_session_condition_cb (GObject *object,
}
}
+static char *
+resolve_conditional_file_path (const char *file)
+{
+ if (g_path_is_absolute (file))
+ return g_strdup (file);
+ return g_build_filename (g_get_user_config_dir (), file, NULL);
+}
+
static void
setup_condition_monitor (GsmAutostartApp *app)
{
@@ -516,8 +524,7 @@ setup_condition_monitor (GsmAutostartApp *app)
char *file_path;
GFile *file;
- file_path = g_build_filename (g_get_user_config_dir (), key, NULL);
-
+ file_path = resolve_conditional_file_path (key);
disabled = !g_file_test (file_path, G_FILE_TEST_EXISTS);
file = g_file_new_for_path (file_path);
@@ -533,8 +540,7 @@ setup_condition_monitor (GsmAutostartApp *app)
char *file_path;
GFile *file;
- file_path = g_build_filename (g_get_user_config_dir (), key, NULL);
-
+ file_path = resolve_conditional_file_path (key);
disabled = g_file_test (file_path, G_FILE_TEST_EXISTS);
file = g_file_new_for_path (file_path);
@@ -835,13 +841,13 @@ is_conditionally_disabled (GsmApp *app)
if (kind == GSM_CONDITION_IF_EXISTS) {
char *file_path;
- file_path = g_build_filename (g_get_user_config_dir (), key, NULL);
+ file_path = resolve_conditional_file_path (key);
disabled = !g_file_test (file_path, G_FILE_TEST_EXISTS);
g_free (file_path);
} else if (kind == GSM_CONDITION_UNLESS_EXISTS) {
char *file_path;
- file_path = g_build_filename (g_get_user_config_dir (), key, NULL);
+ file_path = resolve_conditional_file_path (key);
disabled = g_file_test (file_path, G_FILE_TEST_EXISTS);
g_free (file_path);
#ifdef HAVE_GCONF
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]