open-webui / open-webui/computer

feat: close tabs with middle mouse click

Open
#268 1 comment 0 reactions 0 assignees View on GitHub

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 pointerdown handler 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 pointerdown for 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.