Skip to content

Terminal: Add tab support#26673

Open
bplaat wants to merge 5 commits intoSerenityOS:masterfrom
bplaat:terminal-tabs
Open

Terminal: Add tab support#26673
bplaat wants to merge 5 commits intoSerenityOS:masterfrom
bplaat:terminal-tabs

Conversation

@bplaat
Copy link
Member

@bplaat bplaat commented Mar 20, 2026

This PR adds tab support to the Terminal application. It also includes several commits that improve the TabWidget system across the application. Additionally, it adds an "Add Tab" button and implements automatic tab resizing when there is a width overflow. The Terminal main.cpp file was one big main function so I refactored that completely into the TerminalWindow class.

Hope you like it :^)

Demo

terminal-tabs.mp4

@bplaat bplaat requested a review from alimpfard as a code owner March 20, 2026 18:30
@github-actions github-actions bot added the 👀 pr-needs-review PR needs review from a maintainer or community member label Mar 20, 2026
Extract all window and terminal logic from the monolithic main.cpp
into a new TerminalWindow class. The refactored Terminal supports
multiple tabs via GUI::TabWidget.

Also fix LibVT::TerminalWidget to close the PTM file descriptor in its
destructor, needed for correct cleanup when individual tabs are
removed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

👀 pr-needs-review PR needs review from a maintainer or community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant