aboutsummaryrefslogtreecommitdiff
path: root/src/notifier.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/notifier.c')
-rw-r--r--src/notifier.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/notifier.c b/src/notifier.c
index 123ee6f..47690ca 100644
--- a/src/notifier.c
+++ b/src/notifier.c
@@ -17,10 +17,16 @@
* Charles Kerr <charles.kerr@canonical.com>
*/
+#include "datafiles.h"
#include "dbus-battery.h"
#include "dbus-shared.h"
#include "notifier.h"
#include "utils.h"
+#include "sound.h"
+
+#ifdef HAS_URLDISPATCHER
+# include <lomiri-url-dispatcher.h>
+#endif
#include <libnotify/notify.h>
@@ -130,6 +136,29 @@ get_battery_power_level (IndicatorPowerDevice * battery)
}
/***
+**** Sounds
+***/
+
+static void
+play_low_battery_sound (void)
+{
+ const gchar * key;
+ gchar * filename;
+
+ key = "Low battery.ogg";
+ filename = datafile_find(DATAFILE_TYPE_SOUND, key);
+ if (filename != NULL)
+ {
+ sound_play_file(filename);
+ g_free(filename);
+ }
+ else
+ {
+ g_warning("Unable to find '%s' in XDG data dirs", key);
+ }
+}
+
+/***
**** Notifications
***/
@@ -299,6 +328,7 @@ on_battery_property_changed (IndicatorPowerNotifier * self)
((new_power_level != POWER_LEVEL_OK) && new_discharging && !old_discharging))
{
notification_show (self);
+ play_low_battery_sound();
}
else if (!new_discharging || (new_power_level == POWER_LEVEL_OK))
{