Kitty's clipboard protocol (mode 5522) #18
Labels
No labels
needs-info
needs-triage
ready-for-agent
ready-for-human
wayfinder:map
wayfinder:task
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jeff/harrier#18
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Kitty's clipboard protocol, mode 5522: with it on, a paste goes to the program as a kitty paste event rather than as bracketed text. Ghostty's terminal code, which harrier uses, supports it once a
kitty_clipboardcontext exists, and that is set up only when clipboard reading is (stream_terminal.zig). harrier leaves it unset.Left out of the clipboard-access confirmation work on purpose. Once programs can read the clipboard behind a confirmation, decide whether to turn this on, and how its reads go through the same confirmation and settings (
clipboard.read, a profile'sclipboard_read).Done in
e262024, released in v0.4.0.harrier now serves kitty's clipboard protocol reads (OSC 5522) and turns on its paste events (mode 5522). libghostty-vt could only answer an OSC 5522 read synchronously, inside the callback on the IO thread. The fork's
zig-0.17-jeffbranch now lets those replies be deferred, as OSC 52 ones already could (c7e327c4). So the reads take the same path as OSC 52:clipboard.read, or a profile'sclipboard_read, says. "Allow for this pane" covers both protocols..denystill refuses it.The sway VM test covers a listing, an allowed read, and a paste event fetched with its one-time password.
Fixing the VM test also turned up a crash, fixed in
d66db83: any confirmation drawn in a pane 64 cells wide or more overflowed au7and panicked.