Make ^L with cons25 and origin mode bit more sane.
Even though cons25 normally doesn't support origin regions, this emulator does allow you to do it. It makes more sense to blank only the origin region when emitting ^L instead of blanking the entire screen. Apart from that, we should always place the cursor inside the origin region, which doesn't happen right now.
This commit is contained in:
parent
c9e34bbc39
commit
3e33815f4d
@ -725,11 +725,17 @@ teken_subr_newpage(teken_t *t)
|
||||
if (t->t_stateflags & TS_CONS25) {
|
||||
teken_rect_t tr;
|
||||
|
||||
tr.tr_begin.tp_row = tr.tr_begin.tp_col = 0;
|
||||
tr.tr_end = t->t_winsize;
|
||||
/* Clear screen. */
|
||||
tr.tr_begin.tp_row = t->t_originreg.ts_begin;
|
||||
tr.tr_begin.tp_col = 0;
|
||||
tr.tr_end.tp_row = t->t_originreg.ts_end;
|
||||
tr.tr_end.tp_col = t->t_winsize.tp_col;
|
||||
teken_funcs_fill(t, &tr, BLANK, &t->t_curattr);
|
||||
|
||||
t->t_cursor.tp_row = t->t_cursor.tp_col = 0;
|
||||
/* Cursor at top left. */
|
||||
t->t_cursor.tp_row = t->t_originreg.ts_begin;
|
||||
t->t_cursor.tp_col = 0;
|
||||
t->t_stateflags &= ~TS_WRAPPED;
|
||||
teken_funcs_cursor(t);
|
||||
} else {
|
||||
teken_subr_newline(t);
|
||||
|
Loading…
Reference in New Issue
Block a user