You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 033bc12
Browse filesBrowse the repository at this point in the historyBrowse files
spec(renderer): pointer shape output gated on the pointerShape capability
Adds renderer-spec §7.9 and wires it into the existing capability
sections instead of a standalone feature spec: pointer shape is one
more consumer of RuntimeCapabilities, gated the same way as the rest.
- §7.9: open() gains pointerShape (kitty/CSS shape names; anything else
is ignored and never reaches output). While capabilities.pointerShape
is true, the last declaring element in hit-test order wins
(innermost; capture-mode floats hide what is beneath, passthrough
floats defer to it). Changes are appended to result.output as
OSC 22 ; <shape> ST, so the host keeps writing one buffer (cowboyd on
#101, replacing #101's separate result.cursor). There is no
createTerm opt-in: the capability is the only gate.
- Restore (dreyfus92 on #101): set-only OSC 22 cannot pop, so the Term
sets "default" when the pointer leaves or is omitted, and update()
returns the reset when the capability is withdrawn. Resize keeps the
emitted shape since the terminal pointer is unaffected.
- §7.3: output "may be" a view, since a frame carrying OSC 22 is
assembled in TypeScript.
- §7.7, §7.8, §11.2, §12.2 and terminfo-spec §6.3/§9.3 point at §7.9
instead of a "focused feature specification". terminfo-spec §6.3
documents the escape hatch for set-only terminals that never answer
the query: term.update([{ type: "capability", key: "pointer-shape",
value: true }]).
"pointerShape" rather than "cursor": cursor already names the hardware
text cursor (§7.6), and pointerShape matches the capability key and
RuntimeCapabilities field.
0 commit comments