1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 03:37:45 +00:00

Terminal+LibVT: Resize Terminal app window when requested by VT

This will allow us to react to things like DECCOLM.
This commit is contained in:
Andreas Kling 2021-02-20 16:57:31 +01:00
parent bb6d6dce7b
commit 8c9ae4e537
3 changed files with 7 additions and 0 deletions

View file

@ -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));

View file

@ -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);
}

View file

@ -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; }