diff options
author | Mirco Müller <mirco.mueller@canonical.com> | 2014-07-31 16:46:43 +0200 |
---|---|---|
committer | Mirco Müller <mirco.mueller@canonical.com> | 2014-07-31 16:46:43 +0200 |
commit | e964fb77076144d577f85260896a18648b5b40f8 (patch) | |
tree | 296cdd7f6ad6efdfef4c69b3bef86795c4e0f0a2 | |
parent | 5bac1dc620f1499b6b2bf9d4b0371a5f2e530696 (diff) | |
download | ayatana-indicator-sound-e964fb77076144d577f85260896a18648b5b40f8.tar.gz ayatana-indicator-sound-e964fb77076144d577f85260896a18648b5b40f8.tar.bz2 ayatana-indicator-sound-e964fb77076144d577f85260896a18648b5b40f8.zip |
Test use of synchronous notifications for volume-changes.
-rw-r--r-- | src/volume-control.vala | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/volume-control.vala b/src/volume-control.vala index 2efa186..5a16621 100644 --- a/src/volume-control.vala +++ b/src/volume-control.vala @@ -19,6 +19,7 @@ */ using PulseAudio; +using Notify; [CCode(cname="pa_cvolume_set", cheader_filename = "pulse/volume.h")] extern unowned PulseAudio.CVolume? vol_set (PulseAudio.CVolume? cv, uint channels, PulseAudio.Volume v); @@ -51,6 +52,7 @@ public class VolumeControl : Object private uint _accountservice_volume_timer = 0; private bool _send_next_local_volume = false; private double _account_service_volume = 0.0; + private Notify.Notification _notification; public signal void volume_changed (double v); public signal void mic_volume_changed (double v); @@ -68,6 +70,13 @@ public class VolumeControl : Object _mute_cancellable = new Cancellable (); _volume_cancellable = new Cancellable (); + + Notify.init ("Volume"); + _notification = new Notify.Notification("Volume", "", "audio-volume-muted"); + _notification.set_hint ("value", 0); + _notification.set_hint ("x-canonical-private-synchronous", "true"); + _notification.set_hint ("x-canonical-non-shaped-icon", "true"); + setup_accountsservice.begin (); this.reconnect_to_pulse (); @@ -301,8 +310,12 @@ public class VolumeControl : Object private void set_volume_success_cb (Context c, int success) { - if ((bool)success) + if ((bool)success) { volume_changed (_volume); + _notification.update ("Volume", "", "audio-volume-medium"); + _notification.set_hint ("value", _volume); + _notification.show (); + } } private void sink_info_set_volume_cb (Context c, SinkInfo? i, int eol) |