Add macOS support and fix agent focus (pane_id) - #1
Open
jonasjeeliasson wants to merge 2 commits into
Open
jonasjeeliasson wants to merge 2 commits into
jonasjeeliasson wants to merge 2 commits into
Conversation
herdr's `agent focus` resolves its target against pane_id; passing the terminal_id (a distinct term_* field) fails with agent_not_found, so every jump errored (exit 1). Switch the focus call to pane_id, and use pane_id for the sort tiebreak too so the field is used consistently (also gives stable, spatial cycle ordering). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two changes to make the plugin work on macOS.
1. macOS support
herdr-plugin.tomlwasplatforms = ["linux"], so herdr refused the action on macOS withplatform_unsupported. The action is pure Python stdlib and runs fine cross-platform, so this adds"macos".2. Fix agent focus — use
pane_id, notterminal_idherdr agent focusresolves its<target>againstpane_id(e.g.w3:p1). The plugin passedterminal_id(a distinctterm_*field that coexists withpane_idinagent list), which fails with:So on current herdr, every jump errored (exit 1) and no focus change happened. This switches the focus call to
pane_id, and also usespane_idfor the sort tiebreak so the field is used consistently — which additionally makes the cycle order stable and spatial (w3:p1beforew3:pT) instead of keyed on an opaque terminal hash.Testing
Verified on macOS + herdr 0.7.5 (Ghostty): repeated invocations cycle through panes in priority order, exit 0, no
agent_not_found.