diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/notifier.c | 11 | ||||
-rw-r--r-- | src/service.c | 17 |
2 files changed, 27 insertions, 1 deletions
diff --git a/src/notifier.c b/src/notifier.c index 5601825..f51032e 100644 --- a/src/notifier.c +++ b/src/notifier.c @@ -21,6 +21,8 @@ #include "dbus-shared.h" #include "notifier.h" +#include <url-dispatcher.h> + #include <libnotify/notify.h> #include <glib/gi18n.h> @@ -166,6 +168,14 @@ notification_clear (IndicatorPowerNotifier * self) } static void +on_battery_settings_clicked(NotifyNotification * nn G_GNUC_UNUSED, + char * action G_GNUC_UNUSED, + gpointer user_data G_GNUC_UNUSED) +{ + url_dispatch_send("settings:///system/battery", NULL, NULL); +} + +static void on_dismiss_clicked(NotifyNotification * nn G_GNUC_UNUSED, char * action G_GNUC_UNUSED, gpointer user_data G_GNUC_UNUSED) @@ -240,6 +250,7 @@ notification_show(IndicatorPowerNotifier * self) notify_notification_set_hint(nn, "x-canonical-snap-decisions-timeout", g_variant_new_int32(INT32_MAX)); notify_notification_set_timeout(nn, NOTIFY_EXPIRES_NEVER); notify_notification_add_action(nn, "dismiss", _("OK"), on_dismiss_clicked, NULL, NULL); + notify_notification_add_action(nn, "settings", _("Battery settings"), on_battery_settings_clicked, NULL, NULL); } /* if we can show it, keep it */ diff --git a/src/service.c b/src/service.c index 22b8dfb..cf7d808 100644 --- a/src/service.c +++ b/src/service.c @@ -20,6 +20,7 @@ #include <glib/gi18n.h> #include <gio/gio.h> +#include <url-dispatcher.h> #include "brightness.h" #include "dbus-shared.h" @@ -815,7 +816,12 @@ on_settings_activated (GSimpleAction * a G_GNUC_UNUSED, if (control_center_cmd == NULL) { - if ((!g_strcmp0 (g_getenv ("DESKTOP_SESSION"), "xubuntu")) || (!g_strcmp0 (g_getenv ("DESKTOP_SESSION"), "xfce"))) + if (g_getenv ("MIR_SOCKET") != NULL) + { + url_dispatch_send("settings:///system/battery", NULL, NULL); + return; + } + else if ((!g_strcmp0 (g_getenv ("DESKTOP_SESSION"), "xubuntu")) || (!g_strcmp0 (g_getenv ("DESKTOP_SESSION"), "xfce"))) { control_center_cmd = "xfce4-power-manager-settings"; } @@ -865,6 +871,14 @@ on_statistics_activated (GSimpleAction * a G_GNUC_UNUSED, } } +static void +on_phone_settings_activated (GSimpleAction * a G_GNUC_UNUSED, + GVariant * param G_GNUC_UNUSED, + gpointer gself G_GNUC_UNUSED) +{ + url_dispatch_send("settings:///system/battery", NULL, NULL); +} + /*** **** ***/ @@ -901,6 +915,7 @@ init_gactions (IndicatorPowerService * self) GActionEntry entries[] = { { "activate-settings", on_settings_activated }, + { "activate-phone-settings", on_phone_settings_activated }, { "activate-statistics", on_statistics_activated, "s" } }; |