diff --git a/girara/callbacks.c b/girara/callbacks.c index 0aed81b..f62111f 100644 --- a/girara/callbacks.c +++ b/girara/callbacks.c @@ -137,6 +137,18 @@ gboolean girara_callback_view_key_press_event(GtkWidget* widget, GdkEventKey* ev session_private->buffer.command = g_string_append_unichar(session_private->buffer.command, codepoint); } + 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); }