Index: plugins/media-keys/gsd-media-keys-manager.c
===================================================================
--- plugins/media-keys/gsd-media-keys-manager.c.orig
+++ plugins/media-keys/gsd-media-keys-manager.c
@@ -1070,6 +1070,7 @@ do_sound_action (GsdMediaKeysManager *ma
{
GvcMixerStream *stream;
gboolean old_muted, new_muted;
+ gboolean toggle_mute;
guint old_vol, new_vol, norm_vol_step;
gboolean sound_changed;
@@ -1091,7 +1092,11 @@ do_sound_action (GsdMediaKeysManager *ma
switch (type) {
case MUTE_KEY:
- new_muted = !old_muted;
+ toggle_mute = g_settings_get_boolean (manager->priv->settings, "toggle-mute");
+ if (toggle_mute)
+ new_muted = !old_muted;
+ else
+ new_muted = TRUE;
break;
case VOLUME_DOWN_KEY:
if (old_vol <= norm_vol_step) {
Index: data/gnome-settings-daemon.convert
===================================================================
--- data/gnome-settings-daemon.convert.orig
+++ data/gnome-settings-daemon.convert
@@ -61,6 +61,7 @@ volume-down = /apps/gnome_settings_daemo
volume-mute = /apps/gnome_settings_daemon/keybindings/volume_mute
volume-up = /apps/gnome_settings_daemon/keybindings/volume_up
www = /apps/gnome_settings_daemon/keybindings/www
+toggle-mute = /apps/gnome_settings_daemon/toggle_mute
[org.gnome.settings-daemon.plugins.mouse]
active = /apps/gnome_settings_daemon/plugins/mouse/active
Index: data/org.gnome.settings-daemon.plugins.media-keys.gschema.xml.in.in
===================================================================
--- data/org.gnome.settings-daemon.plugins.media-keys.gschema.xml.in.in.orig
+++ data/org.gnome.settings-daemon.plugins.media-keys.gschema.xml.in.in
@@ -185,6 +185,11 @@
<_summary>Switch input source backward
<_description>Binding to select the previous input source
+
+ true
+ <_summary>Toggle Mute
+ <_description>Toggle the sound mixer's mute status when then mute button is pressed.
+