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>
openSUSE Build Service is sponsored by