Description
Work on #2252 brought up an unexpected example: XTerm (at least version 353 as packaged in Ubuntu Focal) might be built sans sixel support, but will still happily answer XTSMGRAPHICS
as if it could do sixel. The only indication that Sixel support is not present is the absence of a 4 in the DA1 responses.
I've verified that MLterm, WezTerm, Contour, and XTerm all return a 4 when Sixel is supported (the Alacritty ayosec/graphics branch does not, shittily), and @j4james has verified this for numerous other terminals. I'm tempted to require a 4 in DA1 responses to consider Sixel as supported. I think this is kinda dumb, because if you answer XTSMGRAPHICS
, you really ought be supporting Sixel IMHO, but who knows whether that actually holds up in a historical context?
So our alternatives seem to be:
- Require '4', and fail to drive Sixel on terminals that support it, but don't supply a '4' (currently only Alacritty AFAIK). Ideally we would send patches out to get a '4' on the DA1 list.
- Require '4' or
XTSMGRAPHICS
answers, and attempt to drive Sixel on terminals lacking support (but which answerXTSMGRAPHICS
anyway, currently only XTerm AFAIK). Ideally we would send patches out to disableXTSMGRAPHICS
when not actually supported.
My heart says go with the second option, but my head says the first.