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



commit 6c8eb1a18ec0c35c82aebdbab5bd8926078e4d0f
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 48ae45a9a4..87b24e04a0 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]