[gnome-shell/wip/fmuellner/volume-change-feedback: 1658/1660] volume: Only emit sound feedback after volume changes



commit 14441de254c041e4508127f12188d311e9dc6d02
Author: Florian Müllner <fmuellner gnome org>
Date:   Fri Feb 23 23:58:22 2018 +0100

    volume: Only emit sound feedback after volume changes
    
    gnome-settings-daemon doesn't play the volume change sound when
    the volume stayed the same (that is, it is already at its maximum
    or minimum). This looks like the right thing to do, so copy its
    behavior.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/issues/53

 js/ui/status/volume.js | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
---
diff --git a/js/ui/status/volume.js b/js/ui/status/volume.js
index 9a2dad8944..6be1b2f6a7 100644
--- a/js/ui/status/volume.js
+++ b/js/ui/status/volume.js
@@ -113,6 +113,7 @@ var StreamSlider = class {
         let value = this._slider.value;
         let volume = value * this._control.get_vol_max_norm();
         let prevMuted = this._stream.is_muted;
+        let prevVolume = this._stream.volume;
         if (volume < 1) {
             this._stream.volume = 0;
             if (!prevMuted)
@@ -124,7 +125,8 @@ var StreamSlider = class {
         }
         this._stream.push_volume();
 
-        if (!this._notifyVolumeChangeId && !this._inDrag) {
+        let volumeChanged = this._stream.volume !== prevVolume;
+        if (volumeChanged && !this._notifyVolumeChangeId && !this._inDrag) {
             this._notifyVolumeChangeId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 30, () => {
                 this._notifyVolumeChange();
                 this._notifyVolumeChangeId = 0;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]