Tachikoma fails to detect sixel feature win11 on windows terminal or mintty #40
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
windows
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
kahliburke/Tachikoma.jl#40
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?
FYI: Sixel.jl now detects and passes tests for sixel functionality
in recent windows terminal with sixel support (1.24.xxx works for me)
on win11 with julia 1.10.11.
Sixel.ij still fails to detect the capability and run when I run
julia 1.10.11 from a recent mintty terminal on win11 so
I’m not sure why it is working with the Windows Terminal.
Maybe there is some special code…
Tachikoma (2.3.5) does not detect that sixel works here. I was
able to force the use by setting ENV["TACHIKOMA_GFX"] = "sixel"
and the TachikomaDemos in the launcher() now show sixels!
It looks like you have some xterm interface code to detect sixel
features that I am unfamiliar with and that are not supported
by mintty (at least). Here is some bash code to check the terminal
capability with an ascii escape:
The file
dd.testcontains the characters:esc [ cwhich is the ascii escapesequence to request terminal capabilities (4 is sixel support).
On windows terminal 1.24.11911.0 on win11:
and from julia 1.10.11 running in the same terminal at
the shell> prompt:
If I use cygwin mintty version 3.8.2 (x86-64) from the bash prompt:
and from julia 1.10.11 running in that terminal at the shell> prompt:
You can see that directly in the terminal, the output indicates sixel
support for both. On the windows terminal, you get the same output
running the test from the julia REPL shell prompt.
However, for the
minttyoutput in the julia REPL shell modeproduces different output (and is missing the value 4 indicating
sixel support).
I looked into this on the v2.4.0 tree (
db8eef7) and I think the root cause isstructural rather than a probe that's failing, sixel autodetection can't
succeed on Windows 11/10 at all right now
_detect_sixel_geometry!()returns immediately on Windows:https://github.com/kahliburke/Tachikoma.jl/blob/main/src/terminal.jl#L261
It looks like the terminal IO as configured by Julia is the problem.
If I look at the output of the cygwin/msys2 tty command from the
Julia shell mode I get /dev/cons0 for both.
However, as the above tests show windows terminal (late enough
version to have sixel support) responds to the escape sequence
while for mintty, the same /dev/cons0 appears to be filtering out
the capability (4 is not included).
It looks like a resolution to this problem will have to come at
the Julia IO level.
Since Tachikoma appears to be directly working with the terminal (I get
sixel support for mintty if I set the TACHIKOMA_GFX environment
variable).
You might work around the detection problem for mintty by checking
if ``ENV["TERM_PROGRAM"] == "mintty" .
That will at least allow Tachikoma sixel features to function for mintty.