Skip to content

Add 'assign distinct color to new tab groups' setting - #14419

Draft
vkodithala wants to merge 1 commit into
masterfrom
oz/tab-group-auto-color
Draft

Add 'assign distinct color to new tab groups' setting#14419
vkodithala wants to merge 1 commit into
masterfrom
oz/tab-group-auto-color

Conversation

@vkodithala

Copy link
Copy Markdown
Contributor

Description

Adds a new setting "Assign new tab groups a distinct color" (disabled by default), gated on FeatureFlag::GroupedTabs. When enabled, each new tab group is automatically assigned the first color from the standard 6-color palette (Red, Green, Yellow, Blue, Magenta, Cyan) not already in use by another open group. When all colors are taken it wraps back to Red. This mirrors Chrome's tab group auto-color behavior.

What changed

  • tab_settings.rs: New tab_group_auto_color bool setting (default false), synced to cloud, gated on GroupedTabs feature flag, TOML path appearance.tabs.tab_group_auto_color.
  • tab_grouping.rs: New pick_tab_group_color helper on Workspace that iterates TAB_COLOR_OPTIONS and returns the first one not in use by an existing group. Applied in new_tab_group_from_selected_tabs.
  • view.rs: Applied pick_tab_group_color in new_tab_group_from_tab; added TabGroupAutoColor event arm to the exhaustive TabSettingsChangedEvent match; added the context flag.
  • settings_view/mod.rs: Added TAB_GROUP_AUTO_COLOR_FLAG context flag constant.
  • settings_view/appearance_page.rs: Added ToggleTabGroupAutoColor action, toggle handler, TabGroupAutoColorWidget (switch + description text), registered in the Tabs settings section gated on GroupedTabs, and wired up a Command Palette entry.

Linked Issue

N/A

Testing

  • The linked issue is labeled ready-to-spec or ready-to-implement.
  • Where appropriate, screenshots or a short video of the implementation are included below (especially for user-visible or UI changes).

The setting is off by default and only visible when GroupedTabs is enabled. When enabled, newly created tab groups get the first unused color from the palette automatically, making it easy to visually distinguish groups.

  • I have manually tested my changes locally with ./script/run

Agent Mode

  • Warp Agent Mode - This PR was created via Warp's AI Agent Mode

Conversation: https://staging.warp.dev/conversation/e53d3a6b-9051-4357-adce-18252f08a9a8
Run: https://oz.staging.warp.dev/runs/019fa930-6389-725e-a5cd-00f36b095156

This PR was generated with Oz.

When enabled, each new tab group is automatically assigned the first
color from the standard color palette (Red, Green, Yellow, Blue, Magenta,
Cyan) not already in use by another group. If all colors are taken,
it wraps back to Red.

The setting is disabled by default, gated on FeatureFlag::GroupedTabs,
and exposed in Settings > Appearance > Tabs as a toggle. It is also
reachable from the Command Palette.

Co-Authored-By: Oz <oz-agent@warp.dev>
@cla-bot cla-bot Bot added the cla-signed label Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant