[gnome-shell/wip/fmuellner/volume-change-feedback: 3/6] volume: Only emit sound feedback after volume changes
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/wip/fmuellner/volume-change-feedback: 3/6] volume: Only emit sound feedback after volume changes
- Date: Sat, 23 Nov 2019 14:17:53 +0000 (UTC)
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]