-
Notifications
You must be signed in to change notification settings - Fork 79
XTVersion Identification #314
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## jq/sixel-height-and-width #314 +/- ##
=============================================================
+ Coverage 98.24% 98.28% +0.04%
=============================================================
Files 11 11
Lines 2389 2453 +64
Branches 409 420 +11
=============================================================
+ Hits 2347 2411 +64
Misses 32 32
Partials 10 10 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
74b4a9c to
4aba172
Compare
This branch builds on and compares to #312 (as "base branch") which is required for some common code. Suggest a new way to detect resize, according to this Specification, https://gist.github.com/rockorager/e695fb2924d36b2bcf1fff4a3704bd83 detected by DEC Private mode 2048, with 'EVENT_RESIZE' keystroke name returned by inkey. This is a bit new and not popularly supported, but it is a good solution to the protocol and system-independent support for window resize events. For example, this would work over serial where no existing protocols would.
This branch builds on and compares to #313 (as "base branch"), to benefit from the common "Inquiry Guardrail" of #312 for our test behavior but also to make the merges linear instead of branching, we just add to the most recent "tail" feature. This implement support for XTVERSION Query as method `get_software_version(timeout=1)` returning SoftwareVersion object instance with fields ``.name`` and ``.version``, run bin/display-version.py, ``` Checking software version (XTVERSION) ... Terminal: Konsole, version 23.08.5 ```
2ba08f7 to
102f32c
Compare
This cleans up/simplifies tests after removing unused 'from_string' method.
The inquiry guardrail in _query_response() was incorrectly checking both does_styling and is_a_tty. Terminal inquiries should work regardless of styling preferences to allow keyboard features, bracketed paste, and window dimension queries even when styling is disabled. Updated method implementation and documentation throughout.
280af3e to
a9b7da1
Compare
|
I might consider a follow-up that uses the very legacy ^E raw control character, that a surprisingly large, like 25% of the ones tested respond to instead of XTVERSION. This fallback code is in ucs-detect. I found only one instance, ExtratermQT, replied with some strange escape characters that need more sanitization, this is the reason "PuTTY" gets displayed when you cat /dev/urandom or something, because ^E. CLASSIC. In any case, ucs-detect exercised this code, aproximately 40% or so answered. I really should have tracked which terminals support XTVERSION vs ^E vs. what I keyed in manually, maybe next time. |
This branch builds on and compares to #313 (as "base branch"), to benefit from the common "Inquiry Guardrail" of #312 for our test behavior but also to make the merges linear instead of branching, we just add to the most recent "tail" feature.
This implement support for XTVERSION Query as method
get_software_version(timeout=1)returning SoftwareVersion object instance with fields.nameand.version, run bin/display-version.py,