termpty: soft reset should only reset attributes

terminology-1.2
Boris Faure 4 years ago
parent fccc114082
commit aa0f968860
  1. 2
      src/bin/termptyesc.c
  2. 14
      src/bin/termptyops.c
  3. 1
      src/bin/termptyops.h

@ -1629,7 +1629,7 @@ HVP:
if (b && *b == '!')
{
DBG("soft reset (DECSTR)");
termpty_reset_state(ty);
termpty_soft_reset_state(ty);
}
else
{

@ -424,7 +424,7 @@ termpty_reset_att(Termatt *att)
}
void
termpty_reset_state(Termpty *ty)
termpty_soft_reset_state(Termpty *ty)
{
int i;
Config *config = NULL;
@ -432,8 +432,6 @@ termpty_reset_state(Termpty *ty)
if (ty->obj)
config = termio_config_get(ty->obj);
ty->cursor_state.cx = 0;
ty->cursor_state.cy = 0;
ty->termstate.top_margin = 0;
ty->termstate.bottom_margin = 0;
ty->termstate.left_margin = 0;
@ -465,7 +463,6 @@ termpty_reset_state(Termpty *ty)
ty->mouse_ext = MOUSE_EXT_NONE;
ty->bracketed_paste = 0;
termpty_clear_backlog(ty);
termpty_clear_tabs_on_screen(ty);
for (i = 0; i < ty->w; i += TAB_WIDTH)
{
@ -475,6 +472,15 @@ termpty_reset_state(Termpty *ty)
termio_set_cursor_shape(ty->obj, config->cursor_shape);
}
void
termpty_reset_state(Termpty *ty)
{
termpty_soft_reset_state(ty);
ty->cursor_state.cx = 0;
ty->cursor_state.cy = 0;
termpty_clear_backlog(ty);
}
void
termpty_cursor_copy(Termpty *ty, Eina_Bool save)
{

@ -24,6 +24,7 @@ void termpty_clear_screen(Termpty *ty, Termpty_Clear mode);
void termpty_clear_all(Termpty *ty);
void termpty_reset_att(Termatt *att);
void termpty_reset_state(Termpty *ty);
void termpty_soft_reset_state(Termpty *ty);
void termpty_cursor_copy(Termpty *ty, Eina_Bool save);
void termpty_clear_tabs_on_screen(Termpty *ty);
void termpty_clear_backlog(Termpty *ty);

Loading…
Cancel
Save