diff --git a/applet/contents/ui/main.qml b/applet/contents/ui/main.qml --- a/applet/contents/ui/main.qml +++ b/applet/contents/ui/main.qml @@ -99,10 +99,17 @@ } var volume = boundVolume(paSinkModel.preferredSink.volume + volumeStep); var percent = volumePercent(volume, currentMaxVolumeValue); + + // Don't play feedback sound if the volume is already maximized + // We cannot use percent here because it already includes the step + // We only want to omit the feedback if the volume is already at maximum, not about to be set to maximum + if (paSinkModel.preferredSink.volume < currentMaxVolumeValue) { + playFeedback(); + } + paSinkModel.preferredSink.muted = percent == 0; paSinkModel.preferredSink.volume = volume; osd.showVolume(percent); - playFeedback(); } function decreaseVolume() {