fix(audio-switcher): update mute state after toggle (#158)

This commit is contained in:
blacku
2026-07-30 08:36:16 -04:00
committed by GitHub
parent 62ead4cee1
commit db5a1a3eef
3 changed files with 178 additions and 3 deletions
+21 -2
View File
@@ -1050,9 +1050,28 @@ end
local function toggleMute(command, kind)
local target = kind == "output" and "@DEFAULT_SINK@" or "@DEFAULT_SOURCE@"
local pactlCommand = kind == "output" and "set-sink-mute" or "set-source-mute"
local currentMuted = kind == "output" and snapshot.outputMuted or false
if kind == "input" then currentMuted = snapshot.inputMuted end
local requestedMuted = not currentMuted
runPactl({ pactlCommand, target, "toggle" }, function(result)
resultMessage(command, result.exitCode == 0, trim(result.stderr))
refreshAll()
local ok = result.exitCode == 0
resultMessage(command, ok, trim(result.stderr))
if not ok then
refreshAll()
return
end
local volume
if kind == "output" then
snapshot.outputMuted = requestedMuted
volume = snapshot.outputVolume
else
snapshot.inputMuted = requestedMuted
volume = snapshot.inputVolume
end
updateActiveDeviceVolume(kind, volume, requestedMuted)
publishSnapshot()
refreshCurrentVolume(kind)
end)
end