Repository navigation
feat(terminal): find, zoom, GPU render, prompt marks, OSC 7501 agent status, restore after restart - #422
Open
itsmeakhil wants to merge 2 commits into
Open
feat(terminal): find, zoom, GPU render, prompt marks, OSC 7501 agent status, restore after restart#422itsmeakhil wants to merge 2 commits into
itsmeakhil wants to merge 2 commits into
Conversation
…atus, restore after restart - Pane: ⌘F find bar (search addon), ⌘K clear (also drops Rust scrollback), ⌘+/⌘−/⌘0 font zoom persisted with the layout, ⌘↑/⌘↓ jump between prompts, WebGL renderer with DOM fallback, Unicode 11 widths for emoji/CJK. - Shell integration writes OSC 133 (prompt/command) and OSC 7 (cwd) in-band instead of forking a backgrounded mdt-hook per prompt, so status is ordered with output; the shell_seq reordering machinery is gone. Any shell that emits OSC 133 itself (fish, nushell) now gets running/idle too. - PTY reader scans OSC 7 / 133 / 7501. OSC 7501 (herdr's open program status protocol) maps working → running, blocked/done/error → needs you, so any agent that reports it gets the Needs-you flow without a per-agent shim. The Claude hooks path is unchanged. - New splits and tabs open in the focused pane's current directory. - At quit, each open pane's last 256 KiB of scrollback and its cwd are saved to the encrypted DB and replayed (modes reset, faint rule) above a fresh shell on next launch; rows for closed panes are pruned. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XGT1MWxtnLeLXxBbn7YQkv
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XGT1MWxtnLeLXxBbn7YQkv
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
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.
Improves the Terminal tool without a daemon or new backend. Borrows herdr's open status protocol (OSC 7501) instead of embedding herdr.
What changes
Daily-driver basics (pane)
@xterm/addon-search): Enter / ⇧Enter step through matches, Esc closes it.@xterm/addon-webgl), falling back to the DOM renderer if WebGL fails or the context is lost.@xterm/addon-unicode11) so emoji and CJK line up in agent TUIs.Shell awareness
mdt-hook shell-*+ncon every prompt.shell_seqper-pid reordering code is deleted.terminal/osc.rs). It handles sequences split across reads, both terminators, a size cap, and CAN/SUB aborts.Agent-agnostic status (OSC 7501)
workingbecomes running.blocked,doneanderrorbecome needs-you.msg(base64) is used as the notification text.idleandclearbecome idle.id=) are ignored.Restore after restart
RunEvent::Exit), each open pane's last 256 KiB of scrollback and its cwd are saved to the encrypted SQLCipherkvtable.Not done (deliberate)
Testing
cargo test: 113 passed. New tests:cd /usrproduces Idle → Running → Idle andcwd()becomes/usr(5/5 stable).jest: 1016 passed, 122 suites. New tests: pane shortcuts, prompt targeting, font clamping, store cwd inheritance, font-size persistence.tsc --noEmit: clean.pnpm dev:tauri:cd /tmp, then ⌘D: the new pane opens in/tmp.printf '\e]7501;state=blocked:msg=aGk=\e\\': the pane turns Needs-you with the notification "hi".claudeand hit a permission prompt: Needs-you still works through the hooks path.🤖 Generated with Claude Code
https://claude.ai/code/session_01XGT1MWxtnLeLXxBbn7YQkv