Skip to content

Simplify chat input toolbar responsive behavior#298467

Merged
daviddossett merged 5 commits intomainfrom
ddossett/neutral-snake
Mar 2, 2026
Merged

Simplify chat input toolbar responsive behavior#298467
daviddossett merged 5 commits intomainfrom
ddossett/neutral-snake

Conversation

@daviddossett
Copy link
Collaborator

@daviddossett daviddossett commented Feb 28, 2026

Simplifies the chat input toolbar responsive behavior from three states down to two:

Expanded (width >= 400px): All items visible with labels and chevrons.

Collapsed (width < 400px):

  • Mode picker and session type picker → icon only (22×22, centered)
  • Model picker → label only, no chevron, equal left/right padding
  • Tools button → hidden via CSS :has()

Changes

  • Removed onlyShowIconsForDefaultActions observable — no intermediate "icons for defaults" state
  • Single hideChevrons threshold at 400px drives all collapsed behavior
  • Tools button hidden with CSS :has() instead of context key to avoid layout cascade/wiggle
  • CSS class toggle happens before DOM content update to prevent intermediate-frame jank
  • Icon-only buttons are exactly 22×22 with justify-content: center on the codicon for perfect centering
  • Consistent 4px gap between all toolbar items

Copilot AI review requested due to automatic review settings February 28, 2026 17:46
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR tweaks the chat input toolbar’s responsive behavior so dropdown action items (session/mode/model pickers) keep their text labels visible at narrower editor widths by lowering the “icons-only” threshold.

Changes:

  • Adjusted the width breakpoint for onlyShowIconsForDefaultActions from 650px to 400px.

When the chat input is narrow (<250px), hide chevrons on mode, session
target, model, and workspace pickers. Mode and session target pickers
collapse to centered 22x22 icon-only buttons matching the add-context
button size. Update actionMinWidth to 22 and toolbar gap to 4px.
@daviddossett daviddossett changed the title Reduce chat input label hide threshold from 650 to 400 Collapse chat input picker buttons to 22x22 icons at narrow widths Feb 28, 2026
@daviddossett daviddossett changed the title Collapse chat input picker buttons to 22x22 icons at narrow widths Simplify chat input toolbar responsive behavior Feb 28, 2026
@daviddossett daviddossett requested a review from Copilot February 28, 2026 22:38
@daviddossett daviddossett marked this pull request as ready for review February 28, 2026 22:42
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

@vs-code-engineering vs-code-engineering bot added this to the March 2026 milestone Feb 28, 2026
@daviddossett daviddossett merged commit 0321be0 into main Mar 2, 2026
20 checks passed
@daviddossett daviddossett deleted the ddossett/neutral-snake branch March 2, 2026 17:04
DonJayamanne pushed a commit that referenced this pull request Mar 2, 2026
* Reduce chat input label hide threshold from 650 to 400

* Collapse chat input picker buttons to 22x22 icons at narrow widths

When the chat input is narrow (<250px), hide chevrons on mode, session
target, model, and workspace pickers. Mode and session target pickers
collapse to centered 22x22 icon-only buttons matching the add-context
button size. Update actionMinWidth to 22 and toolbar gap to 4px.

* Simplify chat input toolbar responsive behavior

* Apply initial hideChevrons state in render()
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.

3 participants