diff --git a/src/gui/Window.cc b/src/gui/Window.cc index 5cd955b..aea35b7 100644 --- a/src/gui/Window.cc +++ b/src/gui/Window.cc @@ -284,7 +284,16 @@ void Window::handle_keyval(uint32_t keyval) } else if (keyval < 0xFFu) { - m_focused_buffer_pane->insert_code_point(keyval); + if ((keyval == '\n') && (m_focused_buffer_pane == m_command_buffer_pane)) + { + std::string command = m_command_buffer->get_string(); + m_command_buffer_pane->clear(); + change_focus(m_buffer_pane); + } + else + { + m_focused_buffer_pane->insert_code_point(keyval); + } } } else @@ -298,6 +307,7 @@ void Window::handle_keyval(uint32_t keyval) m_focused_buffer_pane->cursor_move(CursorMovement::EOL); break; case ':': + m_command_buffer_pane->clear(); change_focus(m_command_buffer_pane); break; case 'A':