csi: invert the meaning of DECSDM

There has been some confusion whether enabling DECSDM (private mode
80) enables or disables sixel scrolling.

Foot currently enables scrolling when DECSDM is set, and this patch
changes this, such that setting DECSDM now *disables* scrolling.

The confusion is apparently due to a documentation error in the VT340
manual, as described in
https://github.com/dankamongmen/notcurses/issues/1782#issuecomment-863603641.

And that makes sense, in a way: the SDM in DECSDM stands for Sixel
Display Mode. I.e. it stands to reason that enabling that disables
scrolling.

Anyway, this lead to https://github.com/hackerb9/lsix/issues/41, where
it was eventually proven (by testing on a real VT340), that foot, and
a large number of other terminals (including XTerm) has it wrong:
https://github.com/hackerb9/lsix/issues/41#issuecomment-873269599.
This commit is contained in:
Daniel Eklöf 2021-07-14 19:17:44 +02:00
parent 7afc4c8037
commit fcd9897342
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
3 changed files with 7 additions and 5 deletions

View file

@ -378,7 +378,7 @@ struct terminal {
bool ime:1;
bool app_sync_updates:1;
bool sixel_scrolling:1;
bool sixel_display_mode:1;
bool sixel_private_palette:1;
bool sixel_cursor_right_of_graphics:1;
} xtsave;