Home | History | Annotate | Download | only in patches
      1 diff -urN control-center-2.14.1/gnome-settings-daemon/gnome-settings-keybindings.c ../SUNWgnome-desktop-prefs-2.14.1.hacked/control-center-2.14.1/gnome-settings-daemon/gnome-settings-keybindings.c
      2 --- control-center-2.14.1/gnome-settings-daemon/gnome-settings-keybindings.c	2006-06-12 12:33:36.567877000 +0100
      3 +++ ../SUNWgnome-desktop-prefs-2.14.1.hacked/control-center-2.14.1/gnome-settings-daemon/gnome-settings-keybindings.c	2006-06-12 12:48:38.094184000 +0100
      4 @@ -19,7 +19,10 @@
      5   * for these set */
      6  #define USED_MODS (GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK)
      7  
      8 -#define GCONF_BINDING_DIR "/desktop/gnome/keybindings"
      9 +#define GCONF_BINDING_DIR "/desktop/gnome/keybindings" 
     10 +
     11 +extern gboolean gnome_desktop_tsol_is_multi_label_session (void);
     12 +extern void gnome_desktop_tsol_proxy_app_launch (gchar *);
     13  
     14  typedef struct {
     15    guint keysym;
     16 @@ -366,6 +369,7 @@
     17    XEvent *xevent = (XEvent *)gdk_xevent;
     18    guint keycode, state;
     19    GSList *li;
     20 +  int i = (int)data;
     21  
     22    if(xevent->type != KeyPress)
     23            return GDK_FILTER_CONTINUE;
     24 @@ -384,6 +388,7 @@
     25  	  gboolean retval;
     26  	  gchar **argv = NULL;
     27  	  gchar **envp = NULL;
     28 +	  char      *tsolcmd;
     29  
     30  	  g_return_val_if_fail (binding->action != NULL, GDK_FILTER_CONTINUE);
     31  
     32 @@ -394,6 +399,12 @@
     33  
     34  	  envp = get_exec_environment (xevent);
     35  
     36 +          if (gnome_desktop_tsol_is_multi_label_session ()) {
     37 +                tsolcmd = g_strdup_printf ("%d:%s", i, argv[0]);
     38 +                gnome_desktop_tsol_proxy_app_launch (tsolcmd);
     39 +                g_free (tsolcmd);
     40 +  		return GDK_FILTER_CONTINUE;
     41 +        }
     42  	  
     43  	  retval = g_spawn_async (NULL,
     44  				  argv,
     45 @@ -437,12 +448,12 @@
     46    
     47    gdk_window_add_filter (gdk_get_default_root_window (),
     48  			 keybindings_filter,
     49 -			 NULL);
     50 +			 0);
     51    for (i = 0; i < screen_num; i++)
     52      {
     53        screen = gdk_display_get_screen (dpy, i);
     54        gdk_window_add_filter (gdk_screen_get_root_window (screen),
     55 -			     keybindings_filter, NULL);
     56 +			     keybindings_filter, i);
     57      }
     58  }
     59  
     60 diff -u control-center-2.16.1/gnome-settings-daemon/gnome-settings-multimedia-keys.c-orig5 control-center-2.16.1/gnome-settings-daemon/gnome-settings-multimedia-keys.c
     61 --- control-center-2.16.1/gnome-settings-daemon/gnome-settings-multimedia-keys.c-orig5	2006-10-20 14:15:53.071533000 +0100
     62 +++ control-center-2.16.1/gnome-settings-daemon/gnome-settings-multimedia-keys.c	2006-10-20 14:17:28.745941000 +0100
     63 @@ -50,6 +50,9 @@
     64   * for these set */
     65  #define USED_MODS (GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK)
     66  
     67 +extern gboolean gnome_desktop_tsol_is_multi_label_session (void);
     68 +extern void gnome_desktop_tsol_proxy_app_launch (gchar *);
     69 +
     70  typedef struct {
     71  	AcmeVolume *volobj;
     72  	GladeXML *xml;
     73 @@ -93,7 +96,16 @@
     74  	gboolean retval;
     75  	gchar **argv;
     76  	gint argc;
     77 -	
     78 +
     79 +	if (gnome_desktop_tsol_is_multi_label_session ()) {
     80 +		char      *tsolcmd;
     81 +		/* FIXME: assume the screen 0 since ACME does not support multi-head */
     82 +		tsolcmd = g_strdup_printf ("0:%s", cmd);
     83 +		gnome_desktop_tsol_proxy_app_launch (tsolcmd);
     84 +		g_free (tsolcmd);
     85 +		return;
     86 +	}
     87 +
     88  	retval = FALSE;
     89  
     90  	if (g_shell_parse_argv (cmd, &argc, &argv, NULL)) {
     91 
     92