8000 feat(browser): label tabs with the page title by jpstratman · Pull Request #423 · amirlehmam/wmux · GitHub
[go: up one dir, main page]

Skip to content

feat(browser): label tabs with the page title - #423

Merged
amirlehmam merged 1 commit into
amirlehmam:masterfrom
jpstratman:feat/browser-tab-page-titles
Nov 3, 2026
Merged

amirlehmam merged 1 commit into
amirlehmam:masterfrom
jpstratman:feat/browser-tab-page-titles

Conversation

@jpstratman
Copy link
Copy Markdown
Contributor

Browser tabs now show the title of their page instead of all reading Browser, so several open pages can be told apart.

A page with no title shows the URL's host, or a local file's name, and an empty tab still says Browser. Restored tabs also show the host until their page loads, because titles stay in memory and never reach session.json.

Design choices

  • Names people chose stay on top. A rename, an agent spawn label, or a quick-launch profile or manifest name outranks the page title. A browser profile names a site, while a site's pages can change their title on every click.
  • Workspace names don't use the page. A stored name would outlive the page it came from.
  • Titles get their own store map. oscTitles is gated by oscTitleTabs and feeds workspace names, and neither applies to a page title.
  • Agent mode shows a host. The webview's title there belongs to the dashboard, and wmux can't read titles from the agent's Chrome. The URL poll only runs for visible panes, so a background agent tab keeps its last host until it's selected.

Tab strip fix

The active tab now stays in view when its label grows. A title arriving after the tab opened used to push the tab's end and close button out of the strip, and terminal tabs with late titles hit the same problem.

Verification gap

The split-drag preview is only covered by a component test, because synthetic drag events wouldn't open it in the running app.

Browser tabs all read 'Browser', so several open pages could not be told apart. A tab now shows its page's title, then the URL's host or a local file's name, then 'Browser'. Titles stay in memory and never reach session.json.
@amirlehmam
amirlehmam merged commit e8997e5 into amirlehmam:master Nov 3, 2026
@amirlehmam
Copy link
Copy Markdown
Owner

Thanks! Merged, and it ships in 2.55.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

0