diff --git a/src/process-window.c b/src/process-window.c index 6a14b7f..969f986 100644 --- a/src/process-window.c +++ b/src/process-window.c @@ -367,13 +367,18 @@ xtm_process_window_key_pressed (XtmProcessWindow *window, GdkEventKey *event) { gboolean ret = FALSE; - if (event->keyval == GDK_KEY_Escape || + if (event->keyval == GDK_KEY_Escape && gtk_widget_is_focus(GTK_WIDGET(window->filter_entry))) { + gtk_entry_set_text (GTK_ENTRY(window->filter_entry), ""); + } + else if (event->keyval == GDK_KEY_Escape || (event->keyval == GDK_KEY_q && (event->state & GDK_CONTROL_MASK))) { - g_signal_emit_by_name (window, "delete-event", event, &ret, G_TYPE_BOOLEAN); + + g_signal_emit_by_name (window, "delete-event", event, &ret, G_TYPE_BOOLEAN); ret = TRUE; } else if (event->keyval == GDK_KEY_f && (event->state & GDK_CONTROL_MASK)) { gtk_widget_grab_focus (GTK_WIDGET(window->filter_entry)); + xfconf_channel_set_bool (window->channel, SETTING_SHOW_FILTER, TRUE); ret = TRUE; }