diff --git a/src/bin/termptyesc.c b/src/bin/termptyesc.c index 9c01df3a..83f61cbb 100644 --- a/src/bin/termptyesc.c +++ b/src/bin/termptyesc.c @@ -1633,7 +1633,7 @@ HVP: if (b && *b == '!') { DBG("soft reset (DECSTR)"); - termpty_reset_state(ty); + termpty_soft_reset_state(ty); } else { diff --git a/src/bin/termptyops.c b/src/bin/termptyops.c index d17dc2f9..0b6f2fc5 100644 --- a/src/bin/termptyops.c +++ b/src/bin/termptyops.c @@ -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) { diff --git a/src/bin/termptyops.h b/src/bin/termptyops.h index ee278609..48cbc0aa 100644 --- a/src/bin/termptyops.h +++ b/src/bin/termptyops.h @@ -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);