Skip to content

Follow-up to #489: merged provider switcher still feels crowded with many providers #1082

@Yuxin-Qiao

Description

@Yuxin-Qiao

Context

This is a follow-up to the merged provider switcher redesign work discussed in #489.

I’m using Merge Icons mode with many providers enabled. The recent switcher improvements help, but when many providers are visible at once, the switcher can still take up a large amount of vertical space and make the menu feel crowded.

I’m opening a new issue because #489 appears to be closed, and I wanted to avoid reopening the old discussion or duplicating prior work without first confirming the preferred direction.

Current behavior

When many providers are enabled:

  • the provider switcher becomes visually dense
  • labels are hard to read or truncated
  • the switcher can occupy several rows
  • usage cards are pushed further down the menu

Screenshot attached.

Possible direction

I prototyped a single-row horizontal overflow switcher locally using NSScrollView inside ProviderSwitcherView.

Potential benefits:

  • keeps the switcher height stable
  • preserves quick provider switching
  • avoids pushing usage cards down
  • avoids changing provider fetching / billing / quota logic

However, this touches AppKit hit-testing / coordinate handling because the current switcher manually intercepts button clicks inside the menu. So I wanted to ask before polishing this into a PR.

I have not opened the prototype as a PR yet because I want to confirm the preferred UX direction first.

Questions

Would you prefer one of these directions?

  1. Single-row horizontal overflow switcher
  2. Collapsible provider grid
  3. Native dropdown / picker
  4. Keep the current grid but add a setting to limit visible rows / prioritize favorites

I’m happy to work on a PR once the preferred direction is clear.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions