t* sacc + cursorline and uri preview URI git clone git://git.codevoid.de/sacc-sdk DIR Log DIR Files DIR Refs DIR LICENSE --- DIR commit 56cb65746fb45ad6228a17a3d0bc7108e5f580bd DIR parent 2a13823f55fd273d3013e685e8d830f6109daecf URI Author: Stefan Hagen <sh+git[at]codevoid[dot]de> Date: Tue, 21 Aug 2018 22:58:39 +0200 Silence warnings, adding some color Diffstat: M ui_ti.c | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) --- DIR diff --git a/ui_ti.c b/ui_ti.c t@@ -13,6 +13,9 @@ #define C(c) #c #define S(c) C(c) +#define SELECTION "\x1B[31m\x1B[40m\x1B[1m" +#define RESET "\x1B[0m" + static char bufout[256]; static struct termios tsave; static struct termios tsacc; t@@ -65,7 +68,7 @@ uiprompt(char *fmt, ...) putp(tparm(exit_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0)); if (n < columns) - printf("%*s", columns - n, " "); + printf("%*s", (int)(columns - n), " "); putp(tparm(cursor_address, lines-1, n, 0, 0, 0, 0, 0, 0, 0)); t@@ -153,7 +156,7 @@ uistatus(char *fmt, ...) n = mbsprint(bufout, columns); putp(tparm(exit_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0)); if (n < columns) - printf("%*s", columns - n, " "); + printf("%*s", (int)(columns - n), " "); putp(tparm(restore_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0)); fflush(stdout); t@@ -184,7 +187,7 @@ displaystatus(Item *item) n = mbsprint(bufout, columns); putp(tparm(exit_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0)); if (n < columns) - printf("%*s", columns - n, " "); + printf("%*s", (int)(columns - n), " "); putp(tparm(restore_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0)); fflush(stdout); t@@ -232,7 +235,7 @@ displayuri(Item *item) n = mbsprint(bufout, columns); putp(tparm(exit_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0)); if (n < columns) - printf("%*s", columns - n, " "); + printf("%*s", (int)(columns - n), " "); putp(tparm(restore_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0)); fflush(stdout); t@@ -270,14 +273,12 @@ uidisplay(Item *entry) putp(tparm(cursor_down, 0, 0, 0, 0, 0, 0, 0, 0, 0)); if (i == curln) { putp(tparm(save_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0)); - putp(tparm(enter_standout_mode, - 0, 0, 0, 0, 0, 0, 0, 0, 0)); + putp(tparm(SELECTION)); } printitem(&items[i]); putp(tparm(column_address, 0, 0, 0, 0, 0, 0, 0, 0, 0)); if (i == curln) - putp(tparm(exit_standout_mode, - 0, 0, 0, 0, 0, 0, 0, 0, 0)); + putp(tparm(RESET)); } putp(tparm(restore_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0)); t@@ -333,10 +334,14 @@ movecurline(Item *item, int l) putp(tparm(cursor_address, curline - dir->printoff, 0, 0, 0, 0, 0, 0, 0, 0)); - putp(tparm(enter_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0)); + putp(tparm(SELECTION)); printitem(&dir->items[curline]); - putp(tparm(exit_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0)); - displaystatus(item); + putp(tparm(RESET)); + if (dir->items[dir->curline].type == 'i') { + displaystatus(item); + } else { + displayuri(&dir->items[dir->curline]); + } fflush(stdout); }