Skip to content

feat(ui): wheel over sidebar switches agent or workspace - #2787

Closed
qiansekai wants to merge 3 commits into
herdrdev:masterfrom
qiansekai:feat/sidebar-wheel-switch
Closed

feat(ui): wheel over sidebar switches agent or workspace#2787
qiansekai wants to merge 3 commits into
herdrdev:masterfrom
qiansekai:feat/sidebar-wheel-switch

Conversation

@qiansekai

Copy link
Copy Markdown

feat(ui): wheel over sidebar switches agent or workspace

Problem

Scroll wheel over the sidebar does not switch focus:

  • Over the agent panel it does nothing when the list is short, and scrolls the list content when it overflows.
  • Over the workspace list it only moves the highlight (move_selected_workspace_by_visible_delta) without switching the active workspace, so nothing visibly changes in the main area.

Change

  • Reuse the existing cycle_agent_entry / next_workspace / previous_workspace logic (previously #[cfg(test)] only) for wheel input.
  • In switch mode (default), wheel over the sidebar cycles focus, consistent with wheel-over-tab-bar: agent panel → focus next/prev agent; workspace area → switch next/prev active workspace. Wraps around.
  • In scroll mode, the previous behavior (scroll list content / move highlight) is preserved.

Config

[ui.sidebar]
wheel = "switch"   # "switch" (default) | "scroll"

Tests

  • wheel_over_agent_panel_switches_agent
  • wheel_over_workspace_list_switches_workspace
  • wheel_scroll_mode_preserves_scrolling

@kangal-bot

Copy link
Copy Markdown
Collaborator

Hi @qiansekai, thanks for your interest in contributing.

Herdr does not accept unsolicited implementation pull requests from contributors who are not listed in .github/APPROVED_CONTRIBUTORS.

The pull request author is not an approved contributor.

If you encountered a reproducible bug, report the observed behavior through the bug issue template. A report does not reserve the work or authorize a pull request; accepted fixes are normally implemented by Herdr’s maintainer-controlled agents.

Feature requests, behavior changes, and other proposals belong in GitHub Discussions. Do not open an issue merely to justify an implementation that was already written.

If a maintainer explicitly wants this implementation, they can reopen the pull request. Reopening by anyone else will be closed again automatically.

See https://github.com/herdrdev/herdr/blob/master/CONTRIBUTING.md for the contribution policy.

@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one) (1)
  • ai-review

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 0e6d119d-d176-4d86-bc1c-4109a263b3f1

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@kangal-bot kangal-bot closed this Aug 13, 2026
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.

2 participants