Merge branch 'decsdm'

Closes #631
This commit is contained in:
Daniel Eklöf 2021-07-16 17:33:30 +02:00
commit 9211ee694c
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
3 changed files with 7 additions and 5 deletions

View file

@ -39,6 +39,8 @@
* Non-empty lines are now considered to have a hard linebreak,
_unless_ an actual word-wrap is inserted.
* Setting `DECSDM` now _disables_ sixel scrolling, while resetting it
_enables_ scrolling (https://codeberg.org/dnkl/foot/issues/631).
### Deprecated

8
csi.c
View file

@ -402,7 +402,7 @@ decset_decrst(struct terminal *term, unsigned param, bool enable)
break;
case 80:
term->sixel.scrolling = enable;
term->sixel.scrolling = !enable;
break;
case 1000:
@ -611,7 +611,7 @@ decrqm(const struct terminal *term, unsigned param, bool *enabled)
case 12: *enabled = term->cursor_blink.decset; return true;
case 25: *enabled = !term->hide_cursor; return true;
case 45: *enabled = term->reverse_wrap; return true;
case 80: *enabled = term->sixel.scrolling; return true;
case 80: *enabled = !term->sixel.scrolling; return true;
case 1000: *enabled = term->mouse_tracking == MOUSE_CLICK; return true;
case 1001: *enabled = false; return true;
case 1002: *enabled = term->mouse_tracking == MOUSE_DRAG; return true;
@ -654,7 +654,7 @@ xtsave(struct terminal *term, unsigned param)
case 25: term->xtsave.show_cursor = !term->hide_cursor; break;
case 45: term->xtsave.reverse_wrap = term->reverse_wrap; break;
case 47: term->xtsave.alt_screen = term->grid == &term->alt; break;
case 80: term->xtsave.sixel_scrolling = term->sixel.scrolling; break;
case 80: term->xtsave.sixel_display_mode = !term->sixel.scrolling; break;
case 1000: term->xtsave.mouse_click = term->mouse_tracking == MOUSE_CLICK; break;
case 1001: break;
case 1002: term->xtsave.mouse_drag = term->mouse_tracking == MOUSE_DRAG; break;
@ -696,7 +696,7 @@ xtrestore(struct terminal *term, unsigned param)
case 25: enable = term->xtsave.show_cursor; break;
case 45: enable = term->xtsave.reverse_wrap; break;
case 47: enable = term->xtsave.alt_screen; break;
case 80: enable = term->xtsave.sixel_scrolling; break;
case 80: enable = term->xtsave.sixel_display_mode; break;
case 1000: enable = term->xtsave.mouse_click; break;
case 1001: return;
case 1002: enable = term->xtsave.mouse_drag; break;

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;