commit 6feaecafe2f576f3b67c8c67fc22df9115790701
parent 9afe09b4b5df036d16738e506246d6ae0512bdd3
Author: Arun Prakash Jana <engineerarun@gmail.com>
Date: Sun, 15 Sep 2019 18:14:56 +0530
An extra column when no indicator
Diffstat:
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/nnn.c b/src/nnn.c
@@ -2332,7 +2332,6 @@ static char *get_lsperms(mode_t mode)
static void printent(const struct entry *ent, int sel, uint namecols)
{
wchar_t *wstr;
- unescape(ent->name, namecols, &wstr);
char ind = '\0';
switch (ent->mode & S_IFMT) {
@@ -2360,6 +2359,11 @@ static void printent(const struct entry *ent, int sel, uint namecols)
break;
}
+ if (!ind)
+ ++namecols;
+
+ unescape(ent->name, namecols, &wstr);
+
/* Directories are always shown on top */
resetdircolor(ent->flags);
@@ -2390,6 +2394,10 @@ static void printent_long(const struct entry *ent, int sel, uint namecols)
permbuf[2] = '0' + (ent->mode & 7);
permbuf[3] = '\0';
+ /* Add a column if no indicator is needed */
+ if (S_ISREG(ent->mode) && !(ent->mode & 0100))
+ ++namecols;
+
/* Trim escape chars from name */
const char *pname = unescape(ent->name, namecols, NULL);