diff --git a/src/bin/termptyops.c b/src/bin/termptyops.c index f4fb345c..ba7bbf19 100644 --- a/src/bin/termptyops.c +++ b/src/bin/termptyops.c @@ -134,8 +134,17 @@ termpty_text_scroll_test(Termpty *ty, Eina_Bool clear) { int e = ty->h; - if (ty->termstate.bottom_margin != 0) e = ty->termstate.bottom_margin; - if (ty->cursor_state.cy >= e) + if (ty->termstate.bottom_margin != 0) + { + e = ty->termstate.bottom_margin; + if (ty->cursor_state.cy == e) + { + termpty_text_scroll(ty, clear); + ty->cursor_state.cy = e - 1; + TERMPTY_RESTRICT_FIELD(ty->cursor_state.cy, 0, ty->h); + } + } + else if (ty->cursor_state.cy >= ty->h) { termpty_text_scroll(ty, clear); ty->cursor_state.cy = e - 1;