From 9bad3c93999644678d6f474d20e9065a67f4ab85 Mon Sep 17 00:00:00 2001
From: Arun Prakash Jana <engineerarun@gmail.com>
Date: Sun, 2 Aug 2020 00:40:51 +0530
Subject: [PATCH] Show selection in reverse in status bar

---
 src/nnn.c | 23 ++++++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)

diff --git a/src/nnn.c b/src/nnn.c
index a3d8be5f..08327a21 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -5161,14 +5161,28 @@ static void statusbar(char *path)
 	tolastln();
 	attron(COLOR_PAIR(cfg.curctx + 1));
 
+	printw("%d/%d ", cur + 1, ndents);
+
+	if (g_state.selmode) {
+		attron(A_REVERSE);
+		addch(' ');
+		if (g_state.rangesel)
+			addch('*');
+		else if (nselected)
+			addstr(xitoa(nselected));
+		else
+			addch('+');
+		addch(' ');
+		attroff(A_REVERSE);
+		addch(' ');
+	}
+
 	if (cfg.blkorder) { /* du mode */
 		char buf[24];
 
 		xstrsncpy(buf, coolsize(dir_blocks << blk_shift), 12);
 
-		printw("%d/%d [%s:%s] %cu:%s free:%s files:%lu %lldB %s\n",
-		       cur + 1, ndents, (g_state.selmode ? "+" : ""),
-		       (g_state.rangesel ? "*" : (nselected ? xitoa(nselected) : "")),
+		printw("%cu:%s free:%s files:%lu %lldB %s\n",
 		       (cfg.apparentsz ? 'a' : 'd'), buf, coolsize(get_fs_info(path, FREE)),
 		       num_files, (ll)pent->blocks << blk_shift, ptr);
 	} else { /* light or detail mode */
@@ -5176,8 +5190,7 @@ static void statusbar(char *path)
 
 		getorderstr(sort);
 
-		printw("%d/%d [%s:%s] %s", cur + 1, ndents, (g_state.selmode ? "+" : ""),
-			 (g_state.rangesel ? "*" : (nselected ? xitoa(nselected) : "")), sort);
+		printw("%s", sort);
 
 		/* Timestamp */
 		print_time(&pent->t);
-- 
2.51.0