File gnome-settings-daemon-bnc462640-mute-action.patch of Package gnome-settings-daemon
Index: gnome-settings-daemon-2.24.0/plugins/media-keys/gsd-media-keys-manager.c
===================================================================
--- gnome-settings-daemon-2.24.0.orig/plugins/media-keys/gsd-media-keys-manager.c
+++ gnome-settings-daemon-2.24.0/plugins/media-keys/gsd-media-keys-manager.c
@@ -586,6 +586,7 @@ do_sound_action (GsdMediaKeysManager *ma
int type)
{
gboolean muted;
+ gboolean toggle_mute;
int vol;
int vol_step;
GError *error = NULL;
@@ -603,6 +604,15 @@ do_sound_action (GsdMediaKeysManager *ma
g_error_free (error);
}
+ toggle_mute = gconf_client_get_bool (manager->priv->conf_client,
+ GCONF_MISC_DIR "/toggle_mute",
+ &error);
+
+ if (error) {
+ toggle_mute = TRUE;
+ g_error_free (error);
+ }
+
if (vol_step > 0) {
int threshold = acme_volume_get_threshold (manager->priv->volume);
if (vol_step < threshold)
@@ -615,7 +625,10 @@ do_sound_action (GsdMediaKeysManager *ma
switch (type) {
case MUTE_KEY:
- acme_volume_mute_toggle (manager->priv->volume);
+ if (toggle_mute)
+ acme_volume_mute_toggle (manager->priv->volume);
+ else
+ acme_volume_set_mute (manager->priv->volume, TRUE);
break;
case VOLUME_DOWN_KEY:
if (!muted && (vol <= vol_step)) {
Index: gnome-settings-daemon-2.24.0/data/apps_gnome_settings_daemon_keybindings.schemas.in
===================================================================
--- gnome-settings-daemon-2.24.0.orig/data/apps_gnome_settings_daemon_keybindings.schemas.in
+++ gnome-settings-daemon-2.24.0/data/apps_gnome_settings_daemon_keybindings.schemas.in
@@ -14,6 +14,17 @@
</schema>
<schema>
+ <key>/schemas/apps/gnome_settings_daemon/toggle_mute</key>
+ <applyto>/apps/gnome_settings_daemon/toggle_mute</applyto>
+ <type>bool</type>
+ <default>TRUE</default>
+ <locale name="C">
+ <short>Toggle Mute</short>
+ <long>Toggle the sound mixer's mute status when then mute button is pressed.</long>
+ </locale>
+ </schema>
+
+ <schema>
<key>/schemas/apps/gnome_settings_daemon/keybindings/volume_mute</key>
<applyto>/apps/gnome_settings_daemon/keybindings/volume_mute</applyto>
<type>string</type>