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 90277d09e34282cbd7c21fbc6b0f5190aca3df21 /git/sacc-sdk/commit/90277d09e34282cbd7c21fbc6b0f5190aca3df21.gph codevoid.de 70 1parent 38704075332efd50523896ea0ae68275b7fe0a0f /git/sacc-sdk/commit/38704075332efd50523896ea0ae68275b7fe0a0f.gph codevoid.de 70 hAuthor: Quentin Rameau URL:mailto:quinq@fifth.space codevoid.de 70 iDate: Fri, 1 Sep 2017 16:09:47 +0200 Err codevoid.de 70 i Err codevoid.de 70 iAdd keys to scroll to next/prev browseable entry Err codevoid.de 70 i Err codevoid.de 70 iDiffstat: Err codevoid.de 70 i M config.def.h | 2 ++ Err codevoid.de 70 i M ui_ti.c | 25 +++++++++++++++++++++++++ Err codevoid.de 70 i Err codevoid.de 70 i2 files changed, 27 insertions(+), 0 deletions(-) Err codevoid.de 70 i--- Err codevoid.de 70 1diff --git a/config.def.h b/config.def.h /git/sacc-sdk/file/config.def.h.gph codevoid.de 70 it@@ -2,7 +2,9 @@ Err codevoid.de 70 i Err codevoid.de 70 i /* Screen UI navigation keys */ Err codevoid.de 70 i #define _key_lndown 'j' /* move one line down */ Err codevoid.de 70 i+#define _key_entrydown 'J' /* move to next link */ Err codevoid.de 70 i #define _key_lnup 'k' /* move one line up */ Err codevoid.de 70 i+#define _key_entryup 'K' /* move to next link */ Err codevoid.de 70 i #define _key_pgdown ' ' /* move one screen down */ Err codevoid.de 70 i #define _key_pgup 'b' /* move one screen up */ Err codevoid.de 70 i #define _key_home 'g' /* move to the top of page */ Err codevoid.de 70 1diff --git a/ui_ti.c b/ui_ti.c /git/sacc-sdk/file/ui_ti.c.gph codevoid.de 70 it@@ -334,6 +334,25 @@ jumptoline(Item *entry, ssize_t line, int absolute) Err codevoid.de 70 i return; Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i+static ssize_t Err codevoid.de 70 i+nearentry(Item *entry, int direction) Err codevoid.de 70 i+{ Err codevoid.de 70 i+ Dir *dir = entry->dat; Err codevoid.de 70 i+ size_t item, lastitem; Err codevoid.de 70 i+ Err codevoid.de 70 i+ if (!dir) Err codevoid.de 70 i+ return -1; Err codevoid.de 70 i+ lastitem = dir->nitems; Err codevoid.de 70 i+ item = dir->curline + direction; Err codevoid.de 70 i+ Err codevoid.de 70 i+ for (; item >= 0 && item < lastitem; item += direction) { Err codevoid.de 70 i+ if (dir->items[item]->type != 'i') Err codevoid.de 70 i+ return item; Err codevoid.de 70 i+ } Err codevoid.de 70 i+ Err codevoid.de 70 i+ return dir->curline; Err codevoid.de 70 i+} Err codevoid.de 70 i+ Err codevoid.de 70 i Item * Err codevoid.de 70 i uiselectitem(Item *entry) Err codevoid.de 70 i { Err codevoid.de 70 it@@ -394,6 +413,9 @@ uiselectitem(Item *entry) Err codevoid.de 70 i lndown: Err codevoid.de 70 i movecurline(entry, 1); Err codevoid.de 70 i continue; Err codevoid.de 70 i+ case _key_entrydown: Err codevoid.de 70 i+ jumptoline(entry, nearentry(entry, 1), 1); Err codevoid.de 70 i+ continue; Err codevoid.de 70 i case _key_pgdown: Err codevoid.de 70 i pgdown: Err codevoid.de 70 i jumptoline(entry, dir->printoff + plines, 0); Err codevoid.de 70 it@@ -406,6 +428,9 @@ uiselectitem(Item *entry) Err codevoid.de 70 i lnup: Err codevoid.de 70 i movecurline(entry, -1); Err codevoid.de 70 i continue; Err codevoid.de 70 i+ case _key_entryup: Err codevoid.de 70 i+ jumptoline(entry, nearentry(entry, -1), 1); Err codevoid.de 70 i+ continue; Err codevoid.de 70 i case _key_pgup: Err codevoid.de 70 i pgup: Err codevoid.de 70 i jumptoline(entry, dir->printoff - plines, 0); Err codevoid.de 70 .