@@ -1861,22 +1861,43 @@ keybind: Keybinds = .{},
1861
1861
/// open terminals.
1862
1862
@"custom-shader-animation" : CustomShaderAnimation = .true ,
1863
1863
1864
- /// The list of enabled features that are activated after encountering
1865
- /// a bell character.
1864
+ /// Bell features to enable if bell support is available in your runtime. Not
1865
+ /// all features are available on all runtimes. The format of this is a list of
1866
+ /// features to enable separated by commas. If you prefix a feature with `no-`
1867
+ /// then it is disabled. If you omit a feature, its default value is used.
1866
1868
///
1867
1869
/// Valid values are:
1868
1870
///
1869
- /// * `system` (default)
1871
+ /// * `system`
1870
1872
///
1871
1873
/// Instructs the system to notify the user using built-in system functions.
1872
1874
/// This could result in an audiovisual effect, a notification, or something
1873
1875
/// else entirely. Changing these effects require altering system settings:
1874
1876
/// for instance under the "Sound > Alert Sound" setting in GNOME,
1875
- /// or the "Accessibility > System Bell" settings in KDE Plasma.
1877
+ /// or the "Accessibility > System Bell" settings in KDE Plasma. (GTK only)
1876
1878
///
1877
- /// Currently only implemented on Linux.
1879
+ /// * `audio`
1880
+ ///
1881
+ /// Play a custom sound. (GTK only)
1882
+ ///
1883
+ /// Example: `audio`, `no-audio`, `system`, `no-system`:
1884
+ ///
1885
+ /// By default, no bell features are enabled.
1878
1886
@"bell-features" : BellFeatures = .{},
1879
1887
1888
+ /// If `audio` is an enabled bell feature, this is a path to an audio file. If
1889
+ /// the path is not absolute, it is considered relative to the directory of the
1890
+ /// configuration file that it is referenced from, or from the current working
1891
+ /// directory if this is used as a CLI flag. The path may be prefixed with `~/`
1892
+ /// to reference the user's home directory. (GTK only)
1893
+ @"bell-audio-path" : ? Path = null ,
1894
+
1895
+ /// If `audio` is an enabled bell feature, this is the volume to play the audio
1896
+ /// file at (relative to the system volume). This is a floating point number
1897
+ /// ranging from 0.0 (silence) to 1.0 (as loud as possible). The default is 0.5.
1898
+ /// (GTK only)
1899
+ @"bell-audio-volume" : f64 = 0.5 ,
1900
+
1880
1901
/// Control the in-app notifications that Ghostty shows.
1881
1902
///
1882
1903
/// On Linux (GTK), in-app notifications show up as toasts. Toasts appear
@@ -5710,6 +5731,7 @@ pub const AppNotifications = packed struct {
5710
5731
/// See bell-features
5711
5732
pub const BellFeatures = packed struct {
5712
5733
system : bool = false ,
5734
+ audio : bool = false ,
5713
5735
};
5714
5736
5715
5737
/// See mouse-shift-capture
0 commit comments