fix: animate agent status in Zellij tabs - #220
Merged
Merged
Conversation
Zellij status animation required a background process per working tab and continuously spawned CLI commands to read and rename tabs. This imposed substantial process, IPC, redraw, and lifecycle overhead for a cosmetic effect. Render the configured working, waiting, and done icons when status hooks fire, matching tmux behavior. Keep stable tab-ID targeting, marker-based suffix replacement, tmux style stripping, and canonical tab-name handling. Remove the spinner command, runtime state, socket validation, and animation process. Zellij waiting and done icons remain visible until the next status update because Zellij does not provide an equivalent to tmux's focus hook.
Owner
|
Hey, thanks for the PR. Looks good to me, but I'd rather not add the animated spinner to main. It needs a background process for every working tab, with each repeatedly calling Zellij commands every 100 ms. That's roughly 20 Zellij processes per second per working tab, along with quite a bit of lifecycle and stale-state handling for a cosmetic animation. Doesn't feel like a responsible thing to add to a relatively widely used tool as a default. The static 🤖, 💬, and ✅ icons are also in tmux so it's more consistent. |
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.
Summary
Display workmux agent status directly in Zellij tab titles. Working agents now use an animated Braille spinner; waiting and done retain their configured status icons.
Changes
Zellij test build
zellij-org/zellij@5254e4fc1dd784ef872644190dc5e2bcb0981bedFix tab close size (#5444)zellij 0.45.0Testing
cargo fmt --all -- --checkcargo clippy --all-targets(passes; seven existing unrelated warnings)GIT_CONFIG_GLOBAL=/dev/null GIT_CONFIG_NOSYSTEM=1 cargo test --bin workmux --quiet(1,432 passed, 4 ignored)env -u ZELLIJ -u ZELLIJ_PANE_ID -u ZELLIJ_SESSION_NAME GIT_CONFIG_GLOBAL=/dev/null GIT_CONFIG_NOSYSTEM=1 just itest(437 passed)