From b673e2d35142b23c3ebc743cd3587e6c9c0d8b68 Mon Sep 17 00:00:00 2001 From: Robert Ancell Date: Fri, 10 Jan 2014 15:14:57 +1300 Subject: Use unity-control-center if it is available --- debian/control | 4 ++-- src/backend-dbus/actions.c | 28 +++++++++++++++++++++++++--- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/debian/control b/debian/control index ae76274..16ac6c3 100644 --- a/debian/control +++ b/debian/control @@ -28,8 +28,8 @@ Depends: ${shlibs:Depends}, Recommends: indicator-applet (>= 0.2) | indicator-renderer, gnome-screensaver, yelp, - gnome-control-center, - gnome-control-center-signon + gnome-control-center | unity-control-center, + gnome-control-center-signon | unity-control-center-signon Suggests: lightdm, zenity Description: indicator showing session management, status and user switching diff --git a/src/backend-dbus/actions.c b/src/backend-dbus/actions.c index fcf850d..0369755 100644 --- a/src/backend-dbus/actions.c +++ b/src/backend-dbus/actions.c @@ -711,22 +711,44 @@ my_help (IndicatorSessionActions * self G_GNUC_UNUSED) run_outside_app ("yelp"); } +static gboolean +have_unity_control_center (void) +{ + gchar *path; + gboolean have_ucc; + + path = g_find_program_in_path ("unity-control-center"); + have_ucc = path != NULL; + g_free (path); + + return have_ucc; +} + static void my_settings (IndicatorSessionActions * self G_GNUC_UNUSED) { - run_outside_app ("gnome-control-center"); + if (have_unity_control_center ()) + run_outside_app ("unity-control-center"); + else + run_outside_app ("gnome-control-center"); } static void my_online_accounts (IndicatorSessionActions * self G_GNUC_UNUSED) { - run_outside_app ("gnome-control-center credentials"); + if (have_unity_control_center ()) + run_outside_app ("unity-control-center credentials"); + else + run_outside_app ("gnome-control-center credentials"); } static void my_about (IndicatorSessionActions * self G_GNUC_UNUSED) { - run_outside_app ("gnome-control-center info"); + if (have_unity_control_center ()) + run_outside_app ("unity-control-center info"); + else + run_outside_app ("gnome-control-center info"); } /*** -- cgit v1.2.3 From c4e730f6507683b9e12de25c13a53b688a946422 Mon Sep 17 00:00:00 2001 From: Robert Ancell Date: Tue, 14 Jan 2014 17:41:16 +1300 Subject: Recommend unity-control-center before gnome-control-center --- debian/control | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/control b/debian/control index 16ac6c3..f9be310 100644 --- a/debian/control +++ b/debian/control @@ -28,8 +28,8 @@ Depends: ${shlibs:Depends}, Recommends: indicator-applet (>= 0.2) | indicator-renderer, gnome-screensaver, yelp, - gnome-control-center | unity-control-center, - gnome-control-center-signon | unity-control-center-signon + unity-control-center | gnome-control-center, + unity-control-center-signon | gnome-control-center-signon Suggests: lightdm, zenity Description: indicator showing session management, status and user switching -- cgit v1.2.3 From 610119bccb3d0db6f2c5920ad25c9736032fe477 Mon Sep 17 00:00:00 2001 From: Robert Ancell Date: Wed, 22 Jan 2014 10:31:50 +1300 Subject: Only run unity-control-center under unity --- src/backend-dbus/actions.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/backend-dbus/actions.c b/src/backend-dbus/actions.c index 0369755..b1fa8ac 100644 --- a/src/backend-dbus/actions.c +++ b/src/backend-dbus/actions.c @@ -717,6 +717,9 @@ have_unity_control_center (void) gchar *path; gboolean have_ucc; + if (g_strcmp0 (g_getenv ("XDG_CURRENT_DESKTOP"), "Unity") != 0) + return FALSE; + path = g_find_program_in_path ("unity-control-center"); have_ucc = path != NULL; g_free (path); -- cgit v1.2.3