all repos — st @ 6b315558f8095b91988d5b305ed06e082da48889

st (suckless terminal) config

Do not save cursor in tresize.

This patch fixes the bug introduced in
8f11e1cd034ff28ca47bb4955505db7fa8016ba8

To reproduce the bug:
1. Save cursor: printf '\e[s'
2. Load cursor: printf '\e[u'
3. Resize st window.
4. Load cursor again: printf '\e[u'
noname noname@inventati.org
commit

6b315558f8095b91988d5b305ed06e082da48889

parent

5f91983541014d34274087dbf723b48551f90fc0

1 files changed, 3 insertions(+), 1 deletions(-)

jump to
M st.cst.c

@@ -2634,6 +2634,7 @@ int mincol = MIN(col, term.col);

int slide = term.c.y - row + 1; bool *bp; Line *orig; + TCursor c; if(col < 1 || row < 1) return 0;

@@ -2695,6 +2696,7 @@ /* make use of the LIMIT in tmoveto */

tmoveto(term.c.x, term.c.y); /* Clearing both screens */ orig = term.line; + c = term.c; do { if(mincol < col && 0 < minrow) { tclearregion(mincol, 0, col - 1, minrow - 1);

@@ -2702,10 +2704,10 @@ }

if(0 < col && minrow < row) { tclearregion(0, minrow, col - 1, row - 1); } - tcursor(CURSOR_SAVE); tswapscreen(); tcursor(CURSOR_LOAD); } while(orig != term.line); + term.c = c; return (slide > 0); }