|
|
e971512 |
diff -up gdm-2.20.0/gui/gdmlogin.c.allow-escape gdm-2.20.0/gui/gdmlogin.c
|
|
|
e971512 |
--- gdm-2.20.0/gui/gdmlogin.c.allow-escape 2007-10-02 10:54:33.000000000 -0400
|
|
|
e971512 |
+++ gdm-2.20.0/gui/gdmlogin.c 2007-10-02 11:02:08.000000000 -0400
|
|
|
e971512 |
@@ -2146,6 +2146,20 @@ gdm_set_welcomemsg (void)
|
|
|
e971512 |
g_free (greeting);
|
|
|
e971512 |
}
|
|
|
e971512 |
|
|
|
e971512 |
+static gboolean
|
|
|
e971512 |
+key_press_event (GtkWidget *widget, GdkEventKey *key, gpointer data)
|
|
|
e971512 |
+{
|
|
|
e971512 |
+ if (key->keyval == GDK_Escape)
|
|
|
e971512 |
+ {
|
|
|
e971512 |
+ printf ("%c%c%c\n", STX, BEL, GDM_INTERRUPT_CANCEL);
|
|
|
e971512 |
+ fflush (stdout);
|
|
|
e971512 |
+
|
|
|
e971512 |
+ return TRUE;
|
|
|
e971512 |
+ }
|
|
|
e971512 |
+
|
|
|
e971512 |
+ return FALSE;
|
|
|
e971512 |
+}
|
|
|
e971512 |
+
|
|
|
e971512 |
static void
|
|
|
e971512 |
gdm_login_gui_init (void)
|
|
|
e971512 |
{
|
|
|
e971512 |
@@ -2182,6 +2196,9 @@ gdm_login_gui_init (void)
|
|
|
e971512 |
|
|
|
e971512 |
gtk_widget_set_events (login, GDK_ALL_EVENTS_MASK);
|
|
|
e971512 |
|
|
|
e971512 |
+ g_signal_connect (G_OBJECT (login), "key_press_event",
|
|
|
e971512 |
+ G_CALLBACK (key_press_event), NULL);
|
|
|
e971512 |
+
|
|
|
e971512 |
gtk_window_set_title (GTK_WINDOW (login), _("GDM Login"));
|
|
|
e971512 |
/* connect for fingering */
|
|
|
e971512 |
if (browser_ok && gdm_config_get_bool (GDM_KEY_BROWSER))
|
|
|
e971512 |
diff -up gdm-2.20.0/gui/greeter/greeter.c.allow-escape gdm-2.20.0/gui/greeter/greeter.c
|
|
|
e971512 |
--- gdm-2.20.0/gui/greeter/greeter.c.allow-escape 2007-10-02 10:48:39.000000000 -0400
|
|
|
e971512 |
+++ gdm-2.20.0/gui/greeter/greeter.c 2007-10-02 10:56:34.000000000 -0400
|
|
|
e971512 |
@@ -597,10 +597,16 @@ process_operation (guchar op_code,
|
|
|
e971512 |
static gboolean
|
|
|
e971512 |
key_press_event (GtkWidget *widget, GdkEventKey *key, gpointer data)
|
|
|
e971512 |
{
|
|
|
e971512 |
- if (DOING_GDM_DEVELOPMENT && (key->keyval == GDK_Escape))
|
|
|
e971512 |
+ if (key->keyval == GDK_Escape)
|
|
|
e971512 |
{
|
|
|
e971512 |
- process_operation (GDM_QUIT, NULL);
|
|
|
e971512 |
-
|
|
|
e971512 |
+ if (DOING_GDM_DEVELOPMENT)
|
|
|
e971512 |
+ process_operation (GDM_QUIT, NULL);
|
|
|
e971512 |
+ else
|
|
|
e971512 |
+ {
|
|
|
e971512 |
+ printf ("%c%c%c\n", STX, BEL, GDM_INTERRUPT_CANCEL);
|
|
|
e971512 |
+ fflush (stdout);
|
|
|
e971512 |
+ }
|
|
|
e971512 |
+
|
|
|
e971512 |
return TRUE;
|
|
|
e971512 |
}
|
|
|
e971512 |
|
|
|
e971512 |
@@ -1360,11 +1366,9 @@ main (int argc, char *argv[])
|
|
|
e971512 |
|
|
|
e971512 |
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
|
|
e971512 |
|
|
|
e971512 |
- if G_UNLIKELY (DOING_GDM_DEVELOPMENT) {
|
|
|
e971512 |
- g_signal_connect (G_OBJECT (window), "key_press_event",
|
|
|
e971512 |
- G_CALLBACK (key_press_event), NULL);
|
|
|
e971512 |
- }
|
|
|
e971512 |
-
|
|
|
e971512 |
+ g_signal_connect (G_OBJECT (window), "key_press_event",
|
|
|
e971512 |
+ G_CALLBACK (key_press_event), NULL);
|
|
|
e971512 |
+
|
|
|
e971512 |
canvas = gnome_canvas_new_aa ();
|
|
|
e971512 |
GTK_WIDGET_UNSET_FLAGS (canvas, GTK_CAN_FOCUS);
|
|
|
e971512 |
gnome_canvas_set_scroll_region (GNOME_CANVAS (canvas),
|