Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.2:Test
gnome-settings-daemon
gnome-settings-daemon-bnc462640-mute-action.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gnome-settings-daemon-bnc462640-mute-action.patch of Package gnome-settings-daemon
Index: gnome-settings-daemon-2.27.91/data/apps_gnome_settings_daemon_keybindings.schemas.in =================================================================== --- gnome-settings-daemon-2.27.91.orig/data/apps_gnome_settings_daemon_keybindings.schemas.in +++ gnome-settings-daemon-2.27.91/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> Index: gnome-settings-daemon-2.27.91/plugins/media-keys/gsd-media-keys-manager.c =================================================================== --- gnome-settings-daemon-2.27.91.orig/plugins/media-keys/gsd-media-keys-manager.c +++ gnome-settings-daemon-2.27.91/plugins/media-keys/gsd-media-keys-manager.c @@ -632,8 +632,10 @@ do_sound_action (GsdMediaKeysManager *ma int type) { gboolean muted; + gboolean toggle_mute; guint vol, norm_vol_step; int vol_step; + GError *error; if (manager->priv->stream == NULL) return; @@ -654,7 +656,23 @@ do_sound_action (GsdMediaKeysManager *ma switch (type) { case MUTE_KEY: muted = !muted; - gvc_mixer_stream_change_is_muted (manager->priv->stream, muted); + + error = NULL; + 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 (toggle_mute) + gvc_mixer_stream_change_is_muted (manager->priv->stream, + muted); + else + gvc_mixer_stream_change_is_muted (manager->priv->stream, + TRUE); break; case VOLUME_DOWN_KEY: if (!muted && (vol <= norm_vol_step)) {
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor