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



commit e42aa6a02abb78ce56a7dc318354835c1703a6fd
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]