From c1fe77108117eb95b5960e765bdbdd6a21a8caf9 Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Wed, 8 Jun 2022 15:01:08 -0400 Subject: Indicate if still reading or no results --- bin/qf.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/bin/qf.c b/bin/qf.c index ba20483d..1fbf48b9 100644 --- a/bin/qf.c +++ b/bin/qf.c @@ -114,13 +114,17 @@ static void curse(void) { static size_t top; static size_t cur; +static bool reading = true; static void draw(void) { - int y, x; + int y = 0, x = 0; for (int i = 0; i < LINES; ++i) { move(i, 0); clrtoeol(); - if (top + i >= lines.len) continue; + if (top + i >= lines.len) { + addstr(reading ? "..." : !lines.len ? "No results" : ""); + break; + } struct Line line = lines.ptr[top + i]; if (top + i == cur) { getyx(stdscr, y, x); @@ -248,23 +252,23 @@ int main(int argc, char *argv[]) { if (error) errx(EX_USAGE, "invalid pattern"); } curse(); + draw(); struct pollfd fds[2] = { { .fd = STDERR_FILENO, .events = POLLIN }, { .fd = STDIN_FILENO, .events = POLLIN }, }; - int nfds = 2; size_t len = 0; size_t cap = 4096; char *buf = malloc(cap); if (!buf) err(EX_OSERR, "malloc"); - while (poll(fds, nfds, -1)) { + while (poll(fds, (reading ? 2 : 1), -1)) { if (fds[0].revents) { input(); } - if (nfds > 1 && fds[1].revents) { + if (reading && fds[1].revents) { ssize_t n = read(fds[1].fd, &buf[len], cap - len); if (n < 0) err(EX_IOERR, "read"); - if (!n) nfds--; + if (!n) reading = false; len += n; char *ptr = buf; for ( -- cgit 1.4.1 gency/c35/lens'>
path: root/www/photo.causal.agency/c35/lens (unfollow)
Commit message (Expand)Author
2025-04-18Add the leader pageJune McEnroe
2025-04-18Add camera template foldersJune McEnroe
2025-04-13Add A Half-Built GardenJune McEnroe
2025-04-13Also hide lens for trips if it hasn't changedJune McEnroe
2025-04-12Don't list lens in trips if fixedJune McEnroe
2025-04-12Allow setting exposures when loading filmJune McEnroe
2025-04-08Those were supposed to be en-dashes...June McEnroe
2025-04-08Generate pages per rollJune McEnroe
2025-04-08Add metadata from many rolls of filmJune McEnroe
2025-03-25Add emoji for lens, replace all f/'sJune McEnroe
2024-12-29Add photos from December 28June McEnroe
2024-12-29Fancify the manual lens textJune McEnroe
2024-12-28Update film preset list with what I expect to keep shootingJune McEnroe
2024-12-28Add the past few months of rolls of filmJune McEnroe
2024-11-13Add Tea with the Black DragonJune McEnroe
2024-11-05Add a bunch of photosJune McEnroe
2024-10-12Publish "film review"June McEnroe
2024-10-12Add photos from October 6June McEnroe
2024-10-12Add photos from October 5June McEnroe
2024-10-09Add photos from October 1June McEnroe
2024-10-07Add photos from September 29June McEnroe
2024-10-07Add photos from September 28June McEnroe
2024-10-07Add photos from September 22June McEnroe
2024-09-25Add photos from September 15June McEnroe
2024-09-24Add photos from September 14June McEnroe
2024-09-24Add photos from September 12June McEnroe
2024-09-24Add photos from September 7June McEnroe
2024-09-24Allow not having descriptionsJune McEnroe
2024-09-23Automatically select the last used lens for a bodyJune McEnroe
2024-09-19Add photos from September 5June McEnroe
2024-09-15Add some more film stocks to the listJune McEnroe
2024-09-13Add photos from September 2June McEnroe
2024-09-13Add Fomapan 200 to films listJune McEnroe
2024-09-10Add August 29 picnic photosJune McEnroe
2024-09-08Apply some bold to trips renderingJune McEnroe
2024-09-08Render trips hopefully more efficientlyJune McEnroe
2024-09-08Allow removing bodies and lensesJune McEnroe
2024-09-08Limit body width so it looks less silly on desktopJune McEnroe
2024-09-07Handle no film being loadedJune McEnroe
2024-09-07Fancy up the text a littleJune McEnroe