Skip to content

Improve active tab indication when using color-coded tabs (APP-4321)#9361

Draft
warp-dev-github-integration[bot] wants to merge 1 commit intomasterfrom
oz-agent/APP-4321-active-tab-color-indication
Draft

Improve active tab indication when using color-coded tabs (APP-4321)#9361
warp-dev-github-integration[bot] wants to merge 1 commit intomasterfrom
oz-agent/APP-4321-active-tab-color-indication

Conversation

@warp-dev-github-integration
Copy link
Copy Markdown

Description

Fixes APP-4321.

When tabs are color-coded (manually via the right-click color picker or automatically via Directory tab colors), the active tab can be hard to tell apart from inactive colored neighbours. The active state used a only-modestly-brighter fill and shared the same neutral gray border with every other tab.

This PR strengthens the active state in both tab layouts:

Standard (horizontal) tab bar (app/src/tab.rs):

  • The active colored tab's fill opacity is bumped (60 → 85 with NewTabStyling, and 50 → 80 in the legacy bar) so the active tab is clearly brighter than hovered/inactive neighbours. The legacy bar previously used the same opacity for active and hovered, which collapsed those two states.
  • When the active tab is colored, its border is now drawn in the tab's own color at high saturation instead of the generic neutral overlay, giving the active colored tab a strong same-hue outline. Inactive colored tabs keep the existing subtle overlay border.

Vertical tabs (app/src/workspace/view/vertical_tabs.rs):

  • The previously merged hover/selected fill opacity is split into three distinct levels (inactive: 15, hover: 35, selected: 75) so a selected row is clearly brighter than a merely-hovered row.
  • When a selected row is colored, its border uses the row's own ANSI color at high saturation rather than fg_overlay_3, again so the active colored row pops against inactive colored siblings.

Behavior for tabs without a custom color is unchanged. All new colors are derived from the existing ANSI palette, so they remain theme-aware and work in light and dark themes.

Context: this builds on the prior work in APP-3905 (vertical-tab fill intensity bump) and APP-3863, both of which only partially addressed the original feedback.

Testing

  • cargo check -p warp
  • cargo fmt -p warp
  • cargo clippy -p warp --all-targets --tests -- -D warnings
  • Manual testing left for review (the change is purely visual; logic affects only the fill/border opacities of an already-rendered tab).

Server API dependencies

No server API dependencies.

Agent Mode

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

Changelog Entries for Stable

CHANGELOG-IMPROVEMENT: Make the currently active tab easier to identify when tabs are color-coded by giving the active tab a brighter fill and a saturated colored border in both the standard and vertical tab bars.

cc @vkodithala

Conversation: https://staging.warp.dev/conversation/1689dae4-b7e3-4f5a-acd0-adb0d189cc66
Run: https://oz.staging.warp.dev/runs/019dd72f-77bf-791f-a3d7-2325b0dae6bd

This PR was generated with Oz.

When tabs are color-coded (manually or via Directory tab colors), the
active tab can be hard to distinguish from inactive colored tabs because
the active fill is only modestly more saturated than the inactive one,
and the border is the same generic gray for every tab.

This change strengthens the active state in both tab bars:

Standard (horizontal) tab bar:
- Bumps the active tab's color fill opacity (60 -> 85 with the new tab
  styling, and 50 -> 80 in the legacy tab bar) so the active colored
  tab is clearly brighter than hovered/inactive neighbours. The legacy
  bar previously used the same opacity for active and hovered, which
  collapsed the two states.
- Adds a saturated border in the tab's own color when the active tab
  is colored. Inactive colored tabs continue to use the existing
  neutral overlay border so they remain a subtle tint.

Vertical tabs:
- Splits the previously combined hover/selected fill opacity into
  three distinct values (inactive: 15, hover: 35, selected: 75) so the
  active row is clearly brighter than a merely-hovered row.
- For colored selected rows, the row border now uses the row's own
  ANSI color at high saturation instead of the generic neutral overlay,
  giving the active colored tab a strong same-hue outline.

Behavior for tabs without a custom color is unchanged in both bars.
The new colors are derived from the existing ANSI palette, so they
remain theme-aware and work in light and dark themes.

Co-Authored-By: Oz <oz-agent@warp.dev>
@cla-bot
Copy link
Copy Markdown

cla-bot Bot commented Apr 29, 2026

Thank you for your pull request and welcome to our community. We could not parse the GitHub identity of the following contributors: {"message":"Resource not accessible by integration","documentation_url":"https://docs.github.com/rest/users/users#get-the-authenticated-user&quot;,&quot;status&quot;:&quot;403&quot;}.
This is most likely caused by a git client misconfiguration; please make sure to:

  1. check if your git client is configured with an email to sign commits git config --list | grep email
  2. If not, set it up using git config --global user.email email@example.com
  3. Make sure that the git commit email is configured in your GitHub account settings, see https://github.com/settings/emails

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.

0 participants