diff --git a/girara/callbacks.c b/girara/callbacks.c index a6395f3..0fdf821 100644 --- a/girara/callbacks.c +++ b/girara/callbacks.c @@ -149,6 +149,18 @@ girara_callback_view_key_press_event(GtkWidget* widget, session_private->buffer.command = g_string_append_c(session_private->buffer.command, keyval); } + if (session->events.buffer_changed != NULL) { + session->events.buffer_changed(session); + } + } else if (keyval == GDK_KEY_Escape) { + if (session_private->buffer.command != NULL) { + g_string_free(session_private->buffer.command, TRUE); + session_private->buffer.command = NULL; + } + if (session->global.buffer != NULL) { + g_string_free(session->global.buffer, TRUE); + session->global.buffer = NULL; + } if (session->events.buffer_changed != NULL) { session->events.buffer_changed(session); }