vt: DECALN: erase sixels, reset margins, home the cursor

https://vt100.net/docs/vt510-rm/DECALN.html:

  Notes on DECALN

  DECALN sets the margins to the extremes of the page, and moves the
  cursor to the home position.
This commit is contained in:
Daniel Eklöf 2021-12-26 16:42:53 +01:00
parent d6c5bc3262
commit 60c5d889ec
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F

8
vt.c
View file

@ -18,6 +18,7 @@
#include "debug.h"
#include "grid.h"
#include "osc.h"
#include "sixel.h"
#include "util.h"
#include "xmalloc.h"
@ -561,8 +562,15 @@ action_esc_dispatch(struct terminal *term, uint8_t final)
case '#':
switch (final) {
case '8': /* DECALN */
sixel_overwrite_by_rectangle(term, 0, 0, term->rows, term->cols);
term->scroll_region.start = 0;
term->scroll_region.end = term->rows;
for (int r = 0; r < term->rows; r++)
term_fill(term, r, 0, 'E', term->cols, false);
term_cursor_home(term);
break;
}
break; /* private[0] == '#' */