consider implementing XTVERSION
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 44.7k
- Forks
- 3.6k
- Avg merge
- 21m
- Merged PRs (30d)
- 1
Description
Is your feature request related to a problem? Please describe.
I'd like a reliable way to identify Hyper and its version from within the terminal. I see that Hyper already implements Device Attributes 1 and 2. It would be great if it could implement XTVERSION for an unambiguous signal, especially since Hyper recommends an ambiguous TERM value of xterm-256color.
Describe the solution you'd like
XTerm and numerous other terminals support XTVERSION. From the Xterm Control Sequences document:
CSI > Ps q
Ps = 0 ⇒ Report xterm name and version (XTVERSION). The
response is a DSR sequence identifying the version: DCS > |
text ST
Notcurses uses this for fine-grained terminal identification.
Describe alternatives you've considered
I see that Hyper 3.1.3 on Debian is reporting 276 for DA2:
control_read:1702:read 11 from 0
pump_control_read:1262:state: 0 char: 27 1b
pump_control_read:1262:state: 1 char: [ 91 5b
pump_control_read:1262:state: 2 char: > 62 3e
pump_control_read:1262:state: 21 char: 0 48 30
pump_control_read:1262:state: 21 char: ; 59 3b
pump_control_read:1262:state: 22 char: 2 50 32
pump_control_read:1262:state: 22 char: 7 55 37
pump_control_read:1262:state: 22 char: 6 54 36
pump_control_read:1262:state: 22 char: ; 59 3b
pump_control_read:1546:Got DA2 Pv: 276
This is ambiguous, even if 3.1.3 can be extracted from it.
Additional context
I use fine-grained terminal information both for heuristics/workarounds where absolutely necessary, and also just as an informative element. It also helps with bug reports sometimes, since the terminal+version are unambiguously present in the bug report. For instance, here's notcurses-info running on Kitty 0.23.1:

thanks!
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing Hyper's existing handling for Device Attributes 1 and 2, then compare it with the XTerm Control Sequences description in this issue. Support the CSI > 0 q query and return a DCS > | text ST response identifying Hyper and its version; the issue does not name a file or test to run.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100