open-webui / open-webui/computer
feat: close tabs with middle mouse click
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 569
- Forks
- 79
- PR merge metrics
- No merged PRs in 30d
Description
Feature description
Tabs in the group tab bar can currently only be closed with the × button or the context menu. Browsers and most editors also close a tab on middle mouse click, and muscle memory makes people try it here too. Right now a middle click does nothing (it just activates the tab).
Proposed solution
Close a non-permanent tab on middle click (auxclick with button === 1) in GroupTabBar.svelte, for both workspace and Home tab groups, reusing the existing close handler so the behaviour matches the × button.
Two small details worth handling at the same time:
- The
pointerdownhandler currently activates the tab for any mouse button. Restricting it to the primary button avoids briefly focusing a background tab before it is closed. - Cancelling
pointerdownfor the middle button suppresses the browser's autoscroll cursor on Linux/Windows.
Permanent tabs (Home, Files) are excluded, same as they have no × button.
Additional context
Implemented on a fork; single-file frontend change (+18/-1):
https://github.com/open-webui/computer/compare/main...ebifrier:computer:feat/middle-click-close-tab
Related: #254 (rename tabs via the tab-bar context menu) touches the same tab bar but is a separate feature.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with GroupTabBar.svelte and inspect the existing close handler and pointerdown behavior for workspace and Home tab groups. Verify the middle-button interaction, permanent-tab exclusions, and matching close behavior with the existing × control, then test the tab bar in the browser.
Written by the indexing model from the issue text.
Assessment
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100