Allow to configure / set the bell volume (currently either 0 or 50)
Submitted by Daniel Hahler
Link to original bug (#738639)
Description
gnome-settings-daemon does not allow to set the volume of the keyboard bell.
Although KEY_BELL_VOLUME is defined, it isn't used:
#define KEY_BELL_VOLUME "bell-volume"
The volume is derived as follows:
bell_volume = (bell_mode == GSD_BELL_MODE_ON) ? 50 : 0;
Ref: https://git.gnome.org/browse/gnome-settings-daemon/tree/plugins/keyboard/gsd-keyboard-manager.c#n298
The following patch should fix this (untested):
diff --git i/data/org.gnome.settings-daemon.peripherals.gschema.xml.in.in w/data/org.gnome.settings-daemon.peripherals.gschema.xml.in.in
index f1d1648..2d94659 100644
--- i/data/org.gnome.settings-daemon.peripherals.gschema.xml.in.in
+++ w/data/org.gnome.settings-daemon.peripherals.gschema.xml.in.in
@@ -91,6 +91,9 @@
`<key name="bell-duration" type="i">`
`<default>`100`</default>`
`</key>`
+ `<key name="bell-volume" type="i">`
+ `<default>`50`</default>`
+ `</key>`
`<key name="bell-custom-file" type="s">`
`<default>`''`</default>`
`<summary>`Keyboard Bell Custom Filename`</summary>`
diff --git i/plugins/keyboard/gsd-keyboard-manager.c w/plugins/keyboard/gsd-keyboard-manager.c
index 58972e0..db60da0 100644
--- i/plugins/keyboard/gsd-keyboard-manager.c
+++ w/plugins/keyboard/gsd-keyboard-manager.c
@@ -295,7 +295,11 @@ apply_bell (GsdKeyboardManager *manager)
bell_duration = g_settings_get_int (settings, KEY_BELL_DURATION);
bell_mode = g_settings_get_enum (settings, KEY_BELL_MODE);
- bell_volume = (bell_mode == GSD_BELL_MODE_ON) ? 50 : 0;
+ if (bell_mode == GSD_BELL_MODE_ON) {
+ bell_volume = g_settings_get_int (settings, KEY_BELL_VOLUME);
+ } else {
+ bell_volume = 0;
+ }
/* as percentage from 0..100 inclusive */
if (click_volume < 0) {
Version: 3.14.x