From b0fd7a5ffefe5c8a950fd5a83fe6bc4d460b79c9 Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Tue, 6 Apr 2021 10:03:56 +0530 Subject: [PATCH] Reverse only hovered file name in detail mode Changes: - reverse only the file name in detail view - don't apply reverse to details, show an arrow to the left - always show selection ('+' symbol) in bright - delegate showing selection '+' to printent() --- src/nnn.c | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/src/nnn.c b/src/nnn.c index e1d496ad..4b026432 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -3686,13 +3686,11 @@ static void printent_long(const struct entry *ent, uint_t namecols, bool sel); static void printent(const struct entry *ent, uint_t namecols, bool sel) { - bool detailed = (printptr == &printent_long); - uchar_t color_pair = get_color_pair(ent, detailed); + uchar_t color_pair = get_color_pair(ent, (printptr == &printent_long)); char ind = get_name_ind(ent); int attrs = 0; - if (!detailed) - addch((ent->flags & FILE_SELECTED) ? '+' : ' '); + addch((ent->flags & FILE_SELECTED) ? '+' : ' '); /* Directories are always shown on top */ resetdircolor(ent->flags); @@ -3775,22 +3773,14 @@ static void print_details(const struct entry *ent) static void printent_long(const struct entry *ent, uint_t namecols, bool sel) { int attrs1 = g_state.oldcolor ? A_DIM : COLOR_PAIR(C_MIS); - int attrs2 = sel ? A_REVERSE : 0; - addch(' '); - attron(attrs1 | attrs2); + addch(sel ? '>' : ' '); + attron(attrs1); print_details(ent); -#ifdef ICONS_ENABLED - if (!g_state.oldcolor) - attroff(attrs2); -#endif + attroff(attrs1); addch(' '); - if (!sel) - attroff(attrs1); - addch((ent->flags & FILE_SELECTED) ? '+' : ' '); - attroff(attrs1 | attrs2); printent(ent, namecols, sel); }