it* sacc + cursorline and uri preview Err codevoid.de 70 i Err codevoid.de 70 hgit clone git://git.codevoid.de/sacc-sdk URL:git://git.codevoid.de/sacc-sdk codevoid.de 70 1Log /git/sacc-sdk/log.gph codevoid.de 70 1Files /git/sacc-sdk/files.gph codevoid.de 70 1Refs /git/sacc-sdk/refs.gph codevoid.de 70 1LICENSE /git/sacc-sdk/file/LICENSE.gph codevoid.de 70 i--- Err codevoid.de 70 1commit d90036de3c72730ae2797844b36eb5ae9fd3843f /git/sacc-sdk/commit/d90036de3c72730ae2797844b36eb5ae9fd3843f.gph codevoid.de 70 1parent aca6ea2766742056ee50d63613d18216613ee901 /git/sacc-sdk/commit/aca6ea2766742056ee50d63613d18216613ee901.gph codevoid.de 70 hAuthor: Quentin Rameau URL:mailto:quinq@fifth.space codevoid.de 70 iDate: Sat, 23 Dec 2017 16:19:22 +0100 Err codevoid.de 70 i Err codevoid.de 70 iUpdate both lines and columns when getting term size Err codevoid.de 70 i Err codevoid.de 70 iDiffstat: Err codevoid.de 70 i M ui_txt.c | 24 ++++++++++++------------ Err codevoid.de 70 i Err codevoid.de 70 i1 file changed, 12 insertions(+), 12 deletions(-) Err codevoid.de 70 i--- Err codevoid.de 70 1diff --git a/ui_txt.c b/ui_txt.c /git/sacc-sdk/file/ui_txt.c.gph codevoid.de 70 it@@ -10,10 +10,10 @@ Err codevoid.de 70 i Err codevoid.de 70 i #include "common.h" Err codevoid.de 70 i Err codevoid.de 70 i-int lines; Err codevoid.de 70 i+int lines, columns; Err codevoid.de 70 i Err codevoid.de 70 i-static int Err codevoid.de 70 i-termlines(void) Err codevoid.de 70 i+static void Err codevoid.de 70 i+viewsize(int *ln, int *col) Err codevoid.de 70 i { Err codevoid.de 70 i struct winsize ws; Err codevoid.de 70 i Err codevoid.de 70 it@@ -22,13 +22,16 @@ termlines(void) Err codevoid.de 70 i strerror(errno)); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i- return ws.ws_row-1; /* one off for status bar */ Err codevoid.de 70 i+ if (ln) Err codevoid.de 70 i+ *ln = ws.ws_row-1; /* one off for status bar */ Err codevoid.de 70 i+ if (col) Err codevoid.de 70 i+ *col = ws.ws_col; Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i void Err codevoid.de 70 i uisetup(void) Err codevoid.de 70 i { Err codevoid.de 70 i- lines = termlines(); Err codevoid.de 70 i+ viewsize(&lines, &columns); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i void Err codevoid.de 70 it@@ -121,7 +124,7 @@ uidisplay(Item *entry) Err codevoid.de 70 i { Err codevoid.de 70 i Item *items; Err codevoid.de 70 i Dir *dir; Err codevoid.de 70 i- size_t i, lines, nitems; Err codevoid.de 70 i+ size_t i, nlines, nitems; Err codevoid.de 70 i int nd; Err codevoid.de 70 i Err codevoid.de 70 i if (!entry || Err codevoid.de 70 it@@ -131,10 +134,10 @@ uidisplay(Item *entry) Err codevoid.de 70 i Err codevoid.de 70 i items = dir->items; Err codevoid.de 70 i nitems = dir->nitems; Err codevoid.de 70 i- lines = dir->printoff + termlines(); Err codevoid.de 70 i+ nlines = dir->printoff + lines; Err codevoid.de 70 i nd = ndigits(nitems); Err codevoid.de 70 i Err codevoid.de 70 i- for (i = dir->printoff; i < nitems && i < lines; ++i) { Err codevoid.de 70 i+ for (i = dir->printoff; i < nitems && i < nlines; ++i) { Err codevoid.de 70 i printf("%*zu %s %s\n", Err codevoid.de 70 i nd, i+1, typedisplay(items[i].type), items[i].username); Err codevoid.de 70 i } Err codevoid.de 70 it@@ -189,7 +192,7 @@ uiselectitem(Item *entry) Err codevoid.de 70 i Dir *dir; Err codevoid.de 70 i static char c; Err codevoid.de 70 i char buf[BUFSIZ], *sstr, nl; Err codevoid.de 70 i- int item, nitems, lines; Err codevoid.de 70 i+ int item, nitems; Err codevoid.de 70 i Err codevoid.de 70 i if (!entry || !(dir = entry->dat)) Err codevoid.de 70 i return NULL; Err codevoid.de 70 it@@ -234,20 +237,17 @@ uiselectitem(Item *entry) Err codevoid.de 70 i case 'q': Err codevoid.de 70 i return NULL; Err codevoid.de 70 i case 'n': Err codevoid.de 70 i- lines = termlines(); Err codevoid.de 70 i if (lines < nitems - dir->printoff && Err codevoid.de 70 i lines < (size_t)-1 - dir->printoff) Err codevoid.de 70 i dir->printoff += lines; Err codevoid.de 70 i return entry; Err codevoid.de 70 i case 'p': Err codevoid.de 70 i- lines = termlines(); Err codevoid.de 70 i if (lines <= dir->printoff) Err codevoid.de 70 i dir->printoff -= lines; Err codevoid.de 70 i else Err codevoid.de 70 i dir->printoff = 0; Err codevoid.de 70 i return entry; Err codevoid.de 70 i case 'b': Err codevoid.de 70 i- lines = termlines(); Err codevoid.de 70 i if (nitems > lines) Err codevoid.de 70 i dir->printoff = nitems - lines; Err codevoid.de 70 i else Err codevoid.de 70 .