Home | History | Annotate | Download | only in patches
      1 --- control-center-2.15.92/capplets/accessibility/keyboard/gnome-accessibility-keyboard-properties.c	Fri Aug 20 17:50:57 2004
      2 +++ control-center-2.15.92.new/capplets/accessibility/keyboard/gnome-accessibility-keyboard-properties.c	Mon Aug 28 13:38:09 2006
      3 @@ -87,6 +87,9 @@
      4  int
      5  main (int argc, char **argv) 
      6  {
      7 +	Window dummy_window;
      8 +	Atom already_running;
      9 +	XSetWindowAttributes attrs;
     10  	GtkWidget *dialog;
     11  	GConfChangeSet *changeset;
     12  	bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);
     13 @@ -97,20 +100,36 @@
     14  			    LIBGNOMEUI_MODULE, argc, argv,
     15  			    GNOME_PARAM_APP_DATADIR, GNOMECC_DATA_DIR,
     16  			    NULL);
     17 -	activate_settings_daemon ();
     18 +
     19 +	attrs.override_redirect = True;
     20 +	attrs.event_mask = PropertyChangeMask;
     21 +	dummy_window = XCreateWindow (GDK_DISPLAY(),
     22 +		DefaultRootWindow(GDK_DISPLAY ()),
     23 +		-100, -100, 1, 1, 0,
     24 +		CopyFromParent, CopyFromParent,
     25 +		(Visual *)CopyFromParent,
     26 +		CWOverrideRedirect | CWEventMask,
     27 +		&attrs);
     28 +	already_running = XInternAtom(GDK_DISPLAY (), "GAKP_INSTANCE_RUNNING", False);
     29 +
     30 +	if (XGetSelectionOwner(GDK_DISPLAY (), already_running) == None) {
     31 +		XSetSelectionOwner(GDK_DISPLAY (), already_running, dummy_window, CurrentTime);
     32 +
     33 +		activate_settings_daemon ();
     34  
     35  #ifdef HAVE_X11_EXTENSIONS_XKB_H
     36 -	xkb_enabled ();
     37 +		xkb_enabled ();
     38  #endif
     39  
     40 -	changeset = NULL;
     41 -	dialog = setup_accessX_dialog (changeset);
     42 -	g_signal_connect (G_OBJECT (dialog),
     43 -		"response",
     44 -		G_CALLBACK (dialog_response), changeset);
     45 -	capplet_set_icon (dialog, "gnome-settings-accessibility-keyboard");
     46 -	gtk_widget_show_all (dialog);
     47 -	gtk_main ();
     48 +		changeset = NULL;
     49 +		dialog = setup_accessX_dialog (changeset);
     50 +		g_signal_connect (G_OBJECT (dialog),
     51 +			"response",
     52 +			G_CALLBACK (dialog_response), changeset);
     53 +		capplet_set_icon (dialog, "gnome-settings-accessibility-keyboard");
     54 +		gtk_widget_show_all (dialog);
     55 +		gtk_main ();
     56 +	}
     57  
     58  	return 0;
     59  }
     60