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);
        }