summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-04-06 13:46:35 -0400
committerJune McEnroe <june@causal.agency>2020-04-06 13:46:35 -0400
commit62a3e3699c90b6edc7eb24e1db1773ac8febb546 (patch)
treed4a19e82c15312ba9fe15732def5ae62a5a726f0
parentError on missing MODE parameters (diff)
downloadcatgirl-62a3e3699c90b6edc7eb24e1db1773ac8febb546.tar.gz
catgirl-62a3e3699c90b6edc7eb24e1db1773ac8febb546.zip
Implement split scrolling
-rw-r--r--ui.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/ui.c b/ui.c
index 2a26ac3..c736246 100644
--- a/ui.c
+++ b/ui.c
@@ -258,6 +258,8 @@ static void errExit(void) {
 	reset_shell_mode();
 }
 
+enum { SplitLines = 5 };
+
 void uiInit(void) {
 	initscr();
 	cbreak();
@@ -279,9 +281,8 @@ void uiInit(void) {
 	status = newwin(1, COLS, 0, 0);
 	if (!status) err(EX_OSERR, "newwin");
 
-	marker = newwin(1, COLS, LINES - 2, 0);
-	short fg = 8 + COLOR_BLACK;
-	wbkgd(marker, '~' | colorAttr(fg) | COLOR_PAIR(colorPair(fg, -1)));
+	marker = newwin(1, COLS, BOTTOM - SplitLines - 1, 0);
+	wbkgd(marker, ACS_BULLET);
 
 	input = newpad(1, 1024);
 	if (!input) err(EX_OSERR, "newpad");
@@ -311,6 +312,12 @@ void uiDraw(void) {
 	if (window->scroll) {
 		touchwin(marker);
 		wnoutrefresh(marker);
+		pnoutrefresh(
+			window->pad,
+			WindowLines - SplitLines, 0,
+			BOTTOM - SplitLines, 0,
+			BOTTOM - 1, RIGHT
+		);
 	}
 	int y, x;
 	getyx(input, y, x);
@@ -655,7 +662,7 @@ static void reflow(struct Window *window) {
 }
 
 static void resize(void) {
-	mvwin(marker, LINES - 2, 0);
+	mvwin(marker, BOTTOM - SplitLines - 1, 0);
 	int height, width;
 	getmaxyx(windows.ptrs[0]->pad, height, width);
 	if (width == COLS) return;
td>Add png target in etc/psfJune McEnroe 2018-09-28Disable visual bell in light terminal profileJune McEnroe 2018-09-28Add psf2pngJune McEnroe 2018-09-27Add HJKL for moving glyphs to psfedJune McEnroe 2018-09-27Move psfed paste to edit modeJune McEnroe 2018-09-27Export PWDJune McEnroe Without it, $(PWD) is unset in GNU make. 2018-09-27Add sans6x8 PSF2 fontJune McEnroe 2018-09-26Add copy paste to psfedJune McEnroe 2018-09-25Add r to psfed for invertJune McEnroe 2018-09-24Add psfed, a PSF2 font editorJune McEnroe 2018-09-21Add scheme -i to swap white and blackJune McEnroe 2018-09-21Map caps lock to escape on Linux consoleJune McEnroe 2018-09-19Fix README mandoc lintsJune McEnroe 2018-09-19Un-NOT trans.alpha values in pngoJune McEnroe 2018-09-18Refactor reads in pngo and clear palette between filesJune McEnroe 2018-09-17Add tRNS support to pngoJune McEnroe 2018-09-11Move gfx man pages to gfx/manJune McEnroe 2018-09-11Move bin man pages to bin/manJune McEnroe 2018-09-11Rewrite gfx.7 and render plaintext READMEJune McEnroe 2018-09-11Remove GAMES from BINSJune McEnroe 2018-09-11Rewrite bin.7 and render to plaintext READMEJune McEnroe 2018-09-11Add "blank" lines to man pagesJune McEnroe 2018-09-10Add mdoc syntax fileJune McEnroe 2018-09-08Fix Nm usage in multi-name man pagesJune McEnroe 2018-09-08Put real dates on man pagesJune McEnroe 2018-09-08Replace gfx README with REAMDE.7June McEnroe 2018-09-08Link gfx man pages in ~/.localJune McEnroe