diff options
Diffstat (limited to 'Userland')
-rw-r--r-- | Userland/Applications/Terminal/main.cpp | 3 | ||||
-rw-r--r-- | Userland/Libraries/LibVT/TerminalWidget.cpp | 3 | ||||
-rw-r--r-- | Userland/Libraries/LibVT/TerminalWidget.h | 1 |
3 files changed, 7 insertions, 0 deletions
diff --git a/Userland/Applications/Terminal/main.cpp b/Userland/Applications/Terminal/main.cpp index 200a569125..bc282835f4 100644 --- a/Userland/Applications/Terminal/main.cpp +++ b/Userland/Applications/Terminal/main.cpp @@ -372,6 +372,9 @@ int main(int argc, char** argv) terminal.on_title_change = [&](auto& title) { window->set_title(title); }; + terminal.on_terminal_size_change = [&](auto& size) { + window->resize(size); + }; terminal.apply_size_increments_to_window(*window); window->show(); window->set_icon(app_icon.bitmap_for_size(16)); diff --git a/Userland/Libraries/LibVT/TerminalWidget.cpp b/Userland/Libraries/LibVT/TerminalWidget.cpp index c38a0f7600..0cda393bf4 100644 --- a/Userland/Libraries/LibVT/TerminalWidget.cpp +++ b/Userland/Libraries/LibVT/TerminalWidget.cpp @@ -954,6 +954,9 @@ void TerminalWidget::terminal_did_resize(u16 columns, u16 rows) m_pixel_width = pixel_size.width(); m_pixel_height = pixel_size.height(); + if (on_terminal_size_change) + on_terminal_size_change(Gfx::IntSize { m_pixel_width, m_pixel_height }); + if (m_automatic_size_policy) { set_fixed_size(m_pixel_width, m_pixel_height); } diff --git a/Userland/Libraries/LibVT/TerminalWidget.h b/Userland/Libraries/LibVT/TerminalWidget.h index 49d76ca4b4..5550de3fe1 100644 --- a/Userland/Libraries/LibVT/TerminalWidget.h +++ b/Userland/Libraries/LibVT/TerminalWidget.h @@ -101,6 +101,7 @@ public: void clear_including_history(); Function<void(const StringView&)> on_title_change; + Function<void(const Gfx::IntSize&)> on_terminal_size_change; Function<void()> on_command_exit; GUI::Menu& context_menu() { return *m_context_menu; } |