Introduction
Introduction Statistics Contact Development Disclaimer Help
swap x and y to more logical - scroll - scrollbackbuffer program for st
git clone git://git.suckless.org/scroll
Log
Files
Refs
README
LICENSE
---
commit 8fa398224de3b1ba6b87968ae428a48fbb25a24c
parent fdb54c317eb9215cbfe063c7086a9cefba334f25
Author: Jan Klemkow <[email protected]>
Date: Fri, 24 Apr 2020 00:08:53 +0200
swap x and y to more logical
Diffstat:
M scroll.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
---
diff --git a/scroll.c b/scroll.c
@@ -230,7 +230,7 @@ getcursorposition(int *x, int *y)
if ((n = read(STDIN_FILENO, input, sizeof(input)-1)) == -1)
die("reading cursor position");
input[n] = '\0';
- } while (sscanf(input, "\033[%d;%dR", x, y) != 2);
+ } while (sscanf(input, "\033[%d;%dR", y, x) != 2);
if (*x <= 0 || *y <= 0)
die("invalid cursor position: x=%d y=%d", *x, *y);
@@ -258,7 +258,7 @@ redraw()
/* wind back bottom pointer by shown history */
for (; bottom != NULL && TAILQ_NEXT(bottom, entries) != NULL &&
- rows < x - 2; rows++)
+ rows < y - 2; rows++)
bottom = TAILQ_NEXT(bottom, entries);
if (rows == 0)
@@ -299,10 +299,10 @@ scrollup(int n)
/* wind back scrollend pointer by one page plus n */
for (; TAILQ_NEXT(scrollend, entries) != NULL &&
- rows < x + n; rows++)
+ rows < y + n; rows++)
scrollend = TAILQ_NEXT(scrollend, entries);
- rows -= x;
+ rows -= y;
if (rows <= 0)
return;
@@ -319,19 +319,19 @@ scrollup(int n)
write(STDOUT_FILENO, scrollend->buf + 1, scrollend->size - 1);
else
write(STDOUT_FILENO, scrollend->buf, scrollend->size);
- if (x + n >= ws.ws_row)
+ if (y + n >= ws.ws_row)
bottom = TAILQ_NEXT(bottom, entries);
/* print rows lines and move bottom forward to the new screen bottom */
for (; rows > 1; rows--) {
scrollend = TAILQ_PREV(scrollend, tailhead, entries);
- if (x + n >= ws.ws_row)
+ if (y + n >= ws.ws_row)
bottom = TAILQ_NEXT(bottom, entries);
write(STDOUT_FILENO, scrollend->buf, scrollend->size);
}
/* move cursor from line n to the old bottom position */
- if (x + n < ws.ws_row) {
- dprintf(STDOUT_FILENO, "\033[%d;%dH", x + n, y);
+ if (y + n < ws.ws_row) {
+ dprintf(STDOUT_FILENO, "\033[%d;%dH", y + n, y);
write(STDOUT_FILENO, "\033[?25h", 6); /* show cursor */
} else
dprintf(STDOUT_FILENO, "\033[%d;0H", ws.ws_row);
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.