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