From 6f29ccaa5a029b35eafb9860952ea9cdfab0edb7 Mon Sep 17 00:00:00 2001 From: Lucas CHOLLET Date: Mon, 28 Feb 2022 10:13:09 +0100 Subject: [PATCH] HackStudio: Remove Terminal widget when the bound shell process dies This feature allows the terminal widget to be automatically closed when typing `exit` inside the shell. --- Userland/DevTools/HackStudio/HackStudioWidget.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Userland/DevTools/HackStudio/HackStudioWidget.cpp b/Userland/DevTools/HackStudio/HackStudioWidget.cpp index 69bce9002e..10ca01ac54 100644 --- a/Userland/DevTools/HackStudio/HackStudioWidget.cpp +++ b/Userland/DevTools/HackStudio/HackStudioWidget.cpp @@ -820,6 +820,11 @@ NonnullRefPtr HackStudioWidget::create_add_terminal_action() Gfx::Bitmap::try_load_from_file("/res/icons/hackstudio/add-terminal.png").release_value_but_fixme_should_propagate_errors(), [this](auto&) { auto& terminal_wrapper = m_action_tab_widget->add_tab("Terminal"); + terminal_wrapper.on_command_exit = [&]() { + deferred_invoke([this]() { + m_action_tab_widget->remove_tab(*m_action_tab_widget->active_widget()); + }); + }; reveal_action_tab(terminal_wrapper); update_actions(); terminal_wrapper.terminal().set_focus(true);