aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/notifier.c11
-rw-r--r--src/service.c17
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" }
};