Use lighter function to print character

This commit is contained in:
Arun Prakash Jana 2019-08-21 20:30:04 +05:30
parent 6ea75cfd8d
commit 0fbd68ab48
No known key found for this signature in database
GPG key ID: A75979F35C080412
2 changed files with 14 additions and 14 deletions

View file

@ -345,7 +345,7 @@ Selected files are visually indicated by a `+` before the entries.
The selection can now be listed, copied, moved, removed, archived or linked. The selection can now be listed, copied, moved, removed, archived or linked.
Navigate to a target directory then use <kbd>V</kbd> (move) or <kbd>P</kbd> (copy) to have the selected files moved or copied. Navigate to a target directory then use <kbd>P</kbd> (cp) or <kbd>V</kbd> (mv) to copy or move the selected files.
Absolute paths of the selected files are copied to the temporary file `.selection` in the config directory. The path is shown in the help and configuration screen. If `$NNN_COPIER` is set the file paths are also copied to the system clipboard. Absolute paths of the selected files are copied to the temporary file `.selection` in the config directory. The path is shown in the help and configuration screen. If `$NNN_COPIER` is set the file paths are also copied to the system clipboard.

View file

@ -2330,32 +2330,30 @@ static void printent(const struct entry *ent, int sel, uint namecols)
{ {
wchar_t *wstr; wchar_t *wstr;
unescape(ent->name, namecols, &wstr); unescape(ent->name, namecols, &wstr);
const char cp = (ent->flags & FILE_COPIED) ? '+' : ' '; char ind = '\0';
char ind[2] = {'\0', '\0'};
mode_t mode = ent->mode;
switch (mode & S_IFMT) { switch (ent->mode & S_IFMT) {
case S_IFREG: case S_IFREG:
if (mode & 0100) if (ent->mode & 0100)
ind[0] = '*'; ind = '*';
break; break;
case S_IFDIR: case S_IFDIR:
ind[0] = '/'; ind = '/';
break; break;
case S_IFLNK: case S_IFLNK:
ind[0] = '@'; ind = '@';
break; break;
case S_IFSOCK: case S_IFSOCK:
ind[0] = '='; ind = '=';
break; break;
case S_IFIFO: case S_IFIFO:
ind[0] = '|'; ind = '|';
break; break;
case S_IFBLK: // fallthrough case S_IFBLK: // fallthrough
case S_IFCHR: case S_IFCHR:
break; break;
default: default:
ind[0] = '?'; ind = '?';
break; break;
} }
@ -2365,9 +2363,11 @@ static void printent(const struct entry *ent, int sel, uint namecols)
if (sel) if (sel)
attron(A_REVERSE); attron(A_REVERSE);
printw("%c", cp); addch((ent->flags & FILE_COPIED) ? '+' : ' ');
addwstr(wstr); addwstr(wstr);
printw("%s\n", ind); if (ind)
addch(ind);
addch('\n');
if (sel) if (sel)
attroff(A_REVERSE); attroff(A_REVERSE);