--- ui_ti.c.orig 2018-11-15 10:49:33.694891388 +0100 +++ ui_ti.c 2018-11-15 10:50:20.018869453 +0100 @@ -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; @@ -270,14 +273,12 @@ 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)); @@ -333,10 +334,14 @@ 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); }