From 413cbf6fa23f0578fd175eb6b7fdf12fcad5c2cb Mon Sep 17 00:00:00 2001 From: Laurent MAZET Date: Tue, 21 Jan 2025 15:56:57 +0100 Subject: [PATCH] PageUp/PageDown on view mode --- display.c | 18 ++++++++++++++++++ fm.c | 5 +++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/display.c b/display.c index f8c45be..6fcb8f4 100644 --- a/display.c +++ b/display.c @@ -576,6 +576,24 @@ char *filewindow (char *name, window_t *win) } switch (getch ()) { + case KEY_PPAGE: + case KEY_SLEFT: + case 'I': + for (i = 0; i < 3 * win->ysize / 4; i++) { + if (skip > 0) { + skip--; + } + } + break; + case KEY_NPAGE: + case KEY_SRIGHT: + case 'K': + for (i = 0; i < 3 * win->ysize / 4; i++) { + if (skip + win->ysize < len) { + skip++; + } + } + break; case KEY_ESC: case 'q': stop = 1; diff --git a/fm.c b/fm.c index 85a9003..a3014c9 100644 --- a/fm.c +++ b/fm.c @@ -573,8 +573,9 @@ int main (int argc, char *argv[]) /* View */ /* test: echo -ne 'Begin\n This is a test\nEnd' > .a && { sleep 1; echo -n 'k'; sleep 1; echo -en '\ev'; sleep 1; echo -n kkk; sleep 1; echo -n iii; sleep 1; echo -n h; sleep 1; echo; sleep 1; echo -n q; sleep 1; echo -en '\eq'; sleep 1; echo -n y; } | fm.exe -x 60 -y 20 && rm .a */ -/* test: cp fm.c .a && { sleep 1; echo -n 'k'; sleep 1; echo -en '\ev'; sleep 1; for i in $(seq 1 1000); do echo -n k; done; sleep 1; for i in $(seq 1 1000); do echo -n i; done; sleep 1; echo -n h; sleep 1; echo; sleep 1; echo -n q; sleep 1; echo -en '\eq'; sleep 1; echo -n y; } | fm.exe -x 60 -y 20 && rm .a */ -/* test: cp debug.o .a && { sleep 1; echo -n 'k'; sleep 1; echo -en '\ev'; sleep 1; for i in $(seq 1 100); do echo -n k; done; sleep 1; for i in $(seq 1 100); do echo -n i; done; sleep 1; echo -n h; sleep 1; echo; sleep 1; echo -n q; sleep 1; echo -en '\eq'; sleep 1; echo -n y; } | fm.exe -x 60 -y 20 && rm .a */ +/* test: cp fm.c .a && { sleep 1; echo -n 'k'; sleep 1; echo -en '\ev'; sleep 1; for i in $(seq 1 1000); do echo -n k; done; sleep 1; for i in $(seq 1 1000); do echo -n i; done; sleep 1; sleep 1; echo -n q; sleep 1; echo -en '\eq'; sleep 1; echo -n y; } | fm.exe -x 60 -y 20 && rm .a */ +/* test: cp fm.c .a && { sleep 1; echo -n 'k'; sleep 1; echo -en '\ev'; sleep 1; echo -n KKKK; sleep 1; echo -n IIII; sleep 1; echo -n q; sleep 1; echo -en '\eq'; sleep 1; echo -n y; } | fm.exe -x 60 -y 20 && rm .a */ +/* test: cp debug.o .a && { sleep 1; echo -n 'k'; sleep 1; echo -en '\ev'; sleep 1; for i in $(seq 1 100); do echo -n k; done; sleep 1; for i in $(seq 1 100); do echo -n i; done; sleep 1; echo -n q; sleep 1; echo -en '\eq'; sleep 1; echo -n y; } | fm.exe -x 60 -y 20 && rm .a */ /* test: mkdir .a && { sleep 1; echo -n 'k'; sleep 1; echo -en '\ev'; sleep 1; echo; sleep 1; echo -en '\eq'; sleep 1; echo -n y; } | fm.exe -x 60 -y 20 && rmdir .a */ /* test: ln -s .b .a && { sleep 1; echo -n 'k'; sleep 1; echo -en '\ev'; sleep 1; echo; sleep 1; echo -en '\eq'; sleep 1; echo -n y; } | fm.exe -x 60 -y 20 && rm .a */ -- 2.30.2