20357N/Adiff -urN gsd.orig/data/apps_gnome_settings_daemon_keybindings.schemas.in gsd.new/data/apps_gnome_settings_daemon_keybindings.schemas.in
20357N/A--- gsd.orig/data/apps_gnome_settings_daemon_keybindings.schemas.in 2010-10-15 11:27:47.461830030 +0100
20357N/A+++ gsd.new/data/apps_gnome_settings_daemon_keybindings.schemas.in 2010-10-15 11:27:53.362405904 +0100
20357N/A@@ -131,6 +131,17 @@
20357N/A </locale>
20357N/A </schema>
20357N/A
20357N/A+ <schema>
20357N/A+ <key>/schemas/apps/gnome_settings_daemon/keybindings/screensaver_alternative</key>
20357N/A+ <applyto>/apps/gnome_settings_daemon/keybindings/screensaver_alternative</applyto>
20357N/A+ <type>string</type>
20357N/A+ <default>XF86ScreenSaver</default>
20357N/A+ <locale name="C">
20357N/A+ <short>Lock screen (Alt Binding)</short>
20357N/A+ <long>Alternative key binding to lock the screen.</long>
20357N/A+ </locale>
20357N/A+ </schema>
20357N/A+
20357N/A
20357N/A <schema>
20357N/A <key>/schemas/apps/gnome_settings_daemon/keybindings/help</key>
20357N/A@@ -236,5 +247,16 @@
20357N/A </locale>
20357N/A </schema>
20357N/A
20357N/A+ <schema>
20357N/A+ <key>/schemas/apps/gnome_settings_daemon/keybindings/display</key>
20357N/A+ <applyto>/apps/gnome_settings_daemon/keybindings/display</applyto>
20357N/A+ <type>string</type>
20357N/A+ <default>XF86Display</default>
20357N/A+ <locale name="C">
20357N/A+ <short>Toggle External Display</short>
20357N/A+ <long>Binding to toggle the use of an external display.</long>
20357N/A+ </locale>
20357N/A+ </schema>
20357N/A+
20357N/A </schemalist>
20357N/A </gconfschemafile>
20357N/Adiff -urN gsd.orig/plugins/media-keys/acme.h gsd.new/plugins/media-keys/acme.h
20357N/A--- gsd.orig/plugins/media-keys/acme.h 2010-10-15 11:27:47.469241631 +0100
20357N/A+++ gsd.new/plugins/media-keys/acme.h 2010-10-15 11:27:53.363324295 +0100
20357N/A@@ -46,6 +46,7 @@
20357N/A STOP_KEY,
20357N/A PREVIOUS_KEY,
20357N/A NEXT_KEY,
20357N/A+ DISPLAY_KEY, /* To allow mapping to dispswitch functionality */
20357N/A HANDLED_KEYS
20357N/A };
20357N/A
20357N/A@@ -73,6 +74,7 @@
20357N/A { STOP_KEY, GCONF_BINDING_DIR "/stop", NULL },
20357N/A { PREVIOUS_KEY, GCONF_BINDING_DIR "/previous", NULL },
20357N/A { NEXT_KEY, GCONF_BINDING_DIR "/next", NULL },
20357N/A+ { DISPLAY_KEY, GCONF_BINDING_DIR "/display", NULL },
20357N/A };
20357N/A
20357N/A #endif /* __ACME_H__ */
20357N/Adiff -urN gsd.orig/plugins/media-keys/gsd-media-keys-manager.c gsd.new/plugins/media-keys/gsd-media-keys-manager.c
20357N/A--- gsd.orig/plugins/media-keys/gsd-media-keys-manager.c 2010-10-15 11:27:47.467649253 +0100
20357N/A+++ gsd.new/plugins/media-keys/gsd-media-keys-manager.c 2010-10-15 11:27:53.368079533 +0100
20357N/A@@ -661,6 +661,27 @@
20357N/A gconf_client_set_bool (client, TOUCHPAD_ENABLED_KEY, !state, NULL);
20357N/A }
20357N/A
20357N/A+static void
20357N/A+do_display_action (GsdMediaKeysManager *manager)
20357N/A+{
20357N/A+ gchar *command;
20357N/A+ gchar *dispswitch;
20357N/A+
20357N/A+ if ((dispswitch = g_find_program_in_path ("dispswitch")) == NULL ) {
20357N/A+ /* Fall back to known location */
20357N/A+ dispswitch = g_strdup("/usr/X11/bin/dispswitch");
20357N/A+ }
20357N/A+
20357N/A+ command = g_strdup_printf("%s -toggle", dispswitch );
20357N/A+
20357N/A+ if ( command != NULL ) {
20357N/A+ execute (manager, command, FALSE, FALSE);
20357N/A+ }
20357N/A+
20357N/A+ g_free (dispswitch);
20357N/A+ g_free (command);
20357N/A+}
20357N/A+
20357N/A #ifdef HAVE_PULSE
20357N/A static void
20357N/A update_dialog (GsdMediaKeysManager *manager,
20357N/A@@ -997,6 +1018,9 @@
20357N/A case NEXT_KEY:
20357N/A return do_multimedia_player_action (manager, "Next");
20357N/A break;
20357N/A+ case DISPLAY_KEY:
20357N/A+ do_display_action (manager);
20357N/A+ break;
20357N/A default:
20357N/A g_assert_not_reached ();
20357N/A }
20357N/Adiff -urN gsd.orig/plugins/media-keys/gsd-media-keys-manager.c.orig gsd.new/plugins/media-keys/gsd-media-keys-manager.c.orig
20357N/A--- gsd.orig/plugins/media-keys/gsd-media-keys-manager.c.orig 2010-10-15 11:27:47.468143528 +0100
20357N/A+++ gsd.new/plugins/media-keys/gsd-media-keys-manager.c.orig 2010-10-15 11:27:53.365838380 +0100
20357N/A@@ -108,6 +108,8 @@
20357N/A
20357N/A static gpointer manager_object = NULL;
20357N/A
20357N/A+extern gboolean gnome_desktop_tsol_is_multi_label_session (void);
20357N/A+extern void gnome_desktop_tsol_proxy_app_launch (gchar *);
20357N/A
20357N/A static void
20357N/A init_screens (GsdMediaKeysManager *manager)
20357N/A@@ -187,6 +189,15 @@
20357N/A char *exec;
20357N/A char *term = NULL;
20357N/A
20357N/A+ if (gnome_desktop_tsol_is_multi_label_session ()) {
20357N/A+ gchar *tsolcmd;
20357N/A+ /* FIXME: assume the screen 0 since ACME does not support multi-head */
20357N/A+ tsolcmd = g_strdup_printf ("0:%s", cmd);
20357N/A+ gnome_desktop_tsol_proxy_app_launch (tsolcmd);
20357N/A+ g_free (tsolcmd);
20357N/A+ return;
20357N/A+ }
20357N/A+
20357N/A retval = FALSE;
20357N/A
20357N/A if (need_term) {
20357N/A@@ -986,6 +997,9 @@
20357N/A case NEXT_KEY:
20357N/A return do_multimedia_player_action (manager, "Next");
20357N/A break;
20357N/A+ case DISPLAY_KEY:
20357N/A+ do_display_action (manager);
20357N/A+ break;
20357N/A default:
20357N/A g_assert_not_reached ();
20357N/A }
20357N/Adiff -urN gsd.orig/plugins/xrandr/gsd-xrandr-manager.c gsd.new/plugins/xrandr/gsd-xrandr-manager.c
20357N/A--- gsd.orig/plugins/xrandr/gsd-xrandr-manager.c 2010-10-15 11:27:47.481185456 +0100
20357N/A+++ gsd.new/plugins/xrandr/gsd-xrandr-manager.c 2010-10-15 11:34:56.736605248 +0100
20357N/A@@ -2248,7 +2248,7 @@
20357N/A {
20357N/A manager->priv = GSD_XRANDR_MANAGER_GET_PRIVATE (manager);
20357N/A
20357N/A- manager->priv->switch_video_mode_keycode = get_keycode_for_keysym_name (VIDEO_KEYSYM);
20357N/A+ manager->priv->switch_video_mode_keycode = 0; /* get_keycode_for_keysym_name (VIDEO_KEYSYM);*/
20357N/A manager->priv->rotate_windows_keycode = get_keycode_for_keysym_name (ROTATE_KEYSYM);
20357N/A
20357N/A manager->priv->current_fn_f7_config = -1;