iIntroduce a hint to only slide file if needed. - catpoint - Catpoint simple presenting software. Err bitreich.org 70
hgit clone git://bitreich.org/catpoint/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/catpoint/ URL:git://bitreich.org/catpoint/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/catpoint/ bitreich.org 70
1Log /scm/catpoint/log.gph bitreich.org 70
1Files /scm/catpoint/files.gph bitreich.org 70
1Refs /scm/catpoint/refs.gph bitreich.org 70
1Tags /scm/catpoint/tag bitreich.org 70
1README /scm/catpoint/file/README.md.gph bitreich.org 70
1LICENSE /scm/catpoint/file/LICENSE.gph bitreich.org 70
i--- Err bitreich.org 70
1commit 68ef54b661d4e28bb74d67b1bdf81d997abb08db /scm/catpoint/commit/68ef54b661d4e28bb74d67b1bdf81d997abb08db.gph bitreich.org 70
1parent cd4fd87b2fc9d10ac71b55d9b1ea503fdad037b0 /scm/catpoint/commit/cd4fd87b2fc9d10ac71b55d9b1ea503fdad037b0.gph bitreich.org 70
hAuthor: Christoph Lohmann <20h@r-36.net> URL:mailto:20h@r-36.net bitreich.org 70
iDate: Mon, 28 Dec 2020 15:08:19 +0100 Err bitreich.org 70
i Err bitreich.org 70
iIntroduce a hint to only slide file if needed. Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M catpoint.c | 20 ++++++++++++++++++-- Err bitreich.org 70
i Err bitreich.org 70
i1 file changed, 18 insertions(+), 2 deletions(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/catpoint.c b/catpoint.c /scm/catpoint/file/catpoint.c.gph bitreich.org 70
i@@ -17,6 +17,8 @@ Err bitreich.org 70
i char *currentslidep, **slidefiles; /* the slides */ Err bitreich.org 70
i int nslides, currentslide, currentslidelen, exitstatus = 1; Err bitreich.org 70
i Err bitreich.org 70
i+volatile sig_atomic_t slidechanged = 1; Err bitreich.org 70
i+ Err bitreich.org 70
i void Err bitreich.org 70
i unloadcurrentslide(void) Err bitreich.org 70
i { Err bitreich.org 70
i@@ -64,6 +66,11 @@ reloadcurrentslide(int sig) Err bitreich.org 70
i if (raise(SIGWINCH) < 0) Err bitreich.org 70
i err(1, "raise"); Err bitreich.org 70
i } Err bitreich.org 70
i+ Err bitreich.org 70
i+ /* Err bitreich.org 70
i+ * Keep this out of SIGHUP, in case this is used somewhere else. Err bitreich.org 70
i+ */ Err bitreich.org 70
i+ slidechanged = 1; Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i void Err bitreich.org 70
i@@ -112,8 +119,11 @@ main(int argc, char *argv[]) Err bitreich.org 70
i curs_set(FALSE); /* hide cursor */ Err bitreich.org 70
i Err bitreich.org 70
i show: Err bitreich.org 70
i- /* display slide */ Err bitreich.org 70
i- loadcurrentslide(slidefiles, currentslide); Err bitreich.org 70
i+ /* display slide if changed */ Err bitreich.org 70
i+ if (slidechanged) { Err bitreich.org 70
i+ slidechanged = 0; Err bitreich.org 70
i+ loadcurrentslide(slidefiles, currentslide); Err bitreich.org 70
i+ } Err bitreich.org 70
i clear(); Err bitreich.org 70
i refresh(); Err bitreich.org 70
i printw("%.*s", currentslidelen, currentslidep); Err bitreich.org 70
i@@ -135,6 +145,7 @@ again: Err bitreich.org 70
i case KEY_DOWN: Err bitreich.org 70
i case KEY_NPAGE: Err bitreich.org 70
i if (currentslide < nslides - 1) { Err bitreich.org 70
i+ slidechanged = 1; Err bitreich.org 70
i currentslide++; Err bitreich.org 70
i goto show; Err bitreich.org 70
i } Err bitreich.org 70
i@@ -147,6 +158,7 @@ again: Err bitreich.org 70
i case KEY_UP: Err bitreich.org 70
i case KEY_PPAGE: Err bitreich.org 70
i if (currentslide > 0) { Err bitreich.org 70
i+ slidechanged = 1; Err bitreich.org 70
i currentslide--; Err bitreich.org 70
i goto show; Err bitreich.org 70
i } Err bitreich.org 70
i@@ -157,11 +169,15 @@ again: Err bitreich.org 70
i case 'u': Err bitreich.org 70
i case KEY_BEG: Err bitreich.org 70
i case KEY_HOME: Err bitreich.org 70
i+ if (currentslide != 0) Err bitreich.org 70
i+ slidechanged = 1; Err bitreich.org 70
i currentslide = 0; Err bitreich.org 70
i goto show; Err bitreich.org 70
i /* last */ Err bitreich.org 70
i case 'i': Err bitreich.org 70
i case KEY_END: Err bitreich.org 70
i+ if (currentslide != (nslides - 1)) Err bitreich.org 70
i+ slidechanged = 1; Err bitreich.org 70
i currentslide = nslides - 1; Err bitreich.org 70
i goto show; Err bitreich.org 70
i /* reload */ Err bitreich.org 70
.
Response:
text/plain