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 @@ -1211,6 +1211,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; @@ -1239,7 +1240,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 @@ -57,6 +57,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 @@ Maximum length of screen recordings The maximum length of single screen cast recordings in seconds or 0 for unlimited + + true + <_summary>Toggle Mute + <_description>Toggle the sound mixer's mute status when then mute button is pressed. +