^[control-codes live in libghostty-vt

Operating system commands

OSC 440 Play Sound

Play a sound file, mintty's extension.

OSC 440 ; Pt ST
ECMA-48
§8.3.89 OSC – Operating System Command, p. 51
Specification
mintty's control sequences: audio support

OSC 440 ; Pt ST is mintty’s: it plays a sound. Pt is the name of a .wav file in the sounds directory of mintty’s configuration, or the path of one, optionally followed by options separated by :. With async the sound plays while the terminal goes on with its input; nostop skips it if an asynchronous sound is already playing; and loop plays it over and over, asynchronously. An empty Pt stops a sound playing asynchronously. mintty added it in 3.5.2 and marks it experimental (control sequences, termout.c). It is not the bell: nothing rings.

A default xterm has no OSC 440 and ignores it (the OSC numbers it knows). The cases follow xterm.

libghostty-vt does not recognize OSC 440 either: its OSC parser in osc.zig has no state for the number, so the string is dropped, and the cases pass.

Support

TerminalVersionSupportNotes
VT220manual, 2nd ed., 1984NoOSC is not among the controls it recognizes (§4.2)
VT510manual, 1st ed., 1993Noignores an OSC string (chapter 4)
xtermpatch 412, xterm-411aNoignored
libghostty-vt83edd49Noignored
Konsole26.11.70, a24c3d71Nonot among the OSC numbers it handles (Vt102Emulation.h)
ConEmubuild 230724, its documentationNonot in its ANSI escape codes
mintty3.8.3, its documentationYesplays the file, with async, nostop and loop (control sequences)

Validation

OSC440-1: Nothing on screen, and no bell

A
\e]440;notify.wav:async\a
B
|AB____|
cursor 1,3
bell 0
reply none
Every example on these pages runs in your browser, in libghostty-vt compiled to WebAssembly.