bell is unreliable, only works occasionally #23385

Closed
opened 2026-01-31 08:40:43 +00:00 by claunia · 3 comments
Owner

Originally created by @lilyanatia on GitHub (Jun 23, 2025).

Windows Terminal version

1.22.11141.0

Windows build number

10.0.26100.4351

Other Software

No response

Steps to reproduce

in cmd.exe: @for /l %i in (1,1,20) do @( echo %i^^G & timeout /t 1 /nobreak >nul )

or in Debian WSL: for i in $(seq 1 20); do echo "$i\x07"; sleep 1; done

Expected Behavior

bell sounds 20 times

Actual Behavior

bell only sounds 1-3 times

Originally created by @lilyanatia on GitHub (Jun 23, 2025). ### Windows Terminal version 1.22.11141.0 ### Windows build number 10.0.26100.4351 ### Other Software _No response_ ### Steps to reproduce in cmd.exe: `@for /l %i in (1,1,20) do @( echo %i^^G & timeout /t 1 /nobreak >nul )` or in Debian WSL: `for i in $(seq 1 20); do echo "$i\x07"; sleep 1; done` ### Expected Behavior bell sounds 20 times ### Actual Behavior bell only sounds 1-3 times
claunia added the Resolution-By-DesignNeeds-TriageIssue-Bug labels 2026-01-31 08:40:43 +00:00
Author
Owner

@DHowett commented on GitHub (Jul 2, 2025):

Funny enough, this is by design! Considering the inter-process delay, there are times when the new bell will lose the race and times when it will win.

a25d968fe0/src/cascadia/TerminalControl/TermControl.cpp (L41-L42)

If you have need of more melodic notification sounds and specific control over their delays, you might have some fun with DECPS (Play Sound). 😁

@DHowett commented on GitHub (Jul 2, 2025): Funny enough, this is by design! Considering the inter-process delay, there are times when the new bell will lose the race and times when it will win. https://github.com/microsoft/terminal/blob/a25d968fe0026ac5abea62a67d798c89e1280d32/src/cascadia/TerminalControl/TermControl.cpp#L41-L42 If you have need of more _melodic_ notification sounds and specific control over their delays, you might have some fun with `DECPS` (Play Sound). 😁
Author
Owner

@lilyanatia commented on GitHub (Jul 2, 2025):

what I need is reliable notification sounds from Linux software in WSL. I don't really care if the bell is delayed, but I need to be able to hear how many there are. if the bell just randomly doesn't work, that makes it useless as a notification.

@lilyanatia commented on GitHub (Jul 2, 2025): what I need is *reliable* notification sounds from Linux software in WSL. I don't really care if the bell is delayed, but I need to be able to hear how many there are. if the bell just randomly doesn't work, that makes it useless as a notification.
Author
Owner

@warasilapm commented on GitHub (Sep 26, 2025):

@DHowett Hey look, I get that having there be a minimum time here is handy - but some of us also really want it to not obey a minimum time and always play every time a bell is triggered for any reason. Personally, when I'm tabbing in WSL and there's no completion options due to a typo, the audible bell feedback is critically distinct from the visual feedback completion results simply hanging (this is very common when translating windows paths). If it played a bell immediately every time, it'd be a really nice QoL feature that'd save me half a second a few hundred times per day. You could suggest that I use flash as visual feedback, but I find that way too visually disruptive.

Could this be an option, maybe similar to how we choose the flash/taskbar/bell settings in the JSON settings today? I'm happy to tack a whack at it and send in a PR if you don't have the bandwidth (since I'll probably eventually add it and build myself eventually anyways).

@warasilapm commented on GitHub (Sep 26, 2025): @DHowett Hey look, I get that having there be a minimum time here is handy - but some of us also really want it to *not* obey a minimum time and *always* play every time a bell is triggered for any reason. Personally, when I'm tabbing in WSL and there's no completion options due to a typo, the audible bell feedback is critically distinct from the visual feedback completion results simply hanging (this is very common when translating windows paths). If it played a bell immediately every time, it'd be a really nice QoL feature that'd save me half a second a few hundred times per day. You could suggest that I use flash as visual feedback, but I find that way too visually disruptive. Could this be an option, maybe similar to how we choose the flash/taskbar/bell settings in the JSON settings today? I'm happy to tack a whack at it and send in a PR if you don't have the bandwidth (since I'll probably eventually add it and build myself eventually anyways).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#23385