aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/device.c2
-rw-r--r--src/service.c24
2 files changed, 24 insertions, 2 deletions
diff --git a/src/device.c b/src/device.c
index 508a734..7f1b14f 100644
--- a/src/device.c
+++ b/src/device.c
@@ -385,7 +385,6 @@ indicator_power_device_get_icon_names (const IndicatorPowerDevice * device)
break;
case UP_DEVICE_STATE_CHARGING:
- case UP_DEVICE_STATE_PENDING_CHARGE:
suffix_str = get_device_icon_suffix (percentage);
index_str = get_device_icon_index (percentage);
g_ptr_array_add (names, g_strdup_printf ("%s-%s-charging-symbolic", kind_str, suffix_str));
@@ -393,6 +392,7 @@ indicator_power_device_get_icon_names (const IndicatorPowerDevice * device)
g_ptr_array_add (names, g_strdup_printf ("%s-%s-charging", kind_str, suffix_str));
break;
+ case UP_DEVICE_STATE_PENDING_CHARGE:
case UP_DEVICE_STATE_DISCHARGING:
case UP_DEVICE_STATE_PENDING_DISCHARGE:
/* Don't show the caution/red icons unless we have <=30 min left.
diff --git a/src/service.c b/src/service.c
index 2670a67..982a24e 100644
--- a/src/service.c
+++ b/src/service.c
@@ -692,7 +692,29 @@ on_settings_activated (GSimpleAction * a G_GNUC_UNUSED,
GVariant * param G_GNUC_UNUSED,
gpointer gself G_GNUC_UNUSED)
{
- execute_command ("gnome-control-center power");
+ static const gchar *control_center_cmd = NULL;
+
+ if (control_center_cmd == NULL)
+ {
+ if (!g_strcmp0 (g_getenv ("DESKTOP_SESSION"), "xubuntu"))
+ {
+ control_center_cmd = "xfce4-power-manager-settings";
+ }
+ else
+ {
+ gchar *path;
+
+ path = g_find_program_in_path ("unity-control-center");
+ if (path != NULL)
+ control_center_cmd = "unity-control-center power";
+ else
+ control_center_cmd = "gnome-control-center power";
+
+ g_free (path);
+ }
+ }
+
+ execute_command (control_center_cmd);
}
static void