Browse Source

Revamp detail mode

If a filename has Unicode chars, the alignment is broken. Hence moving name to
the last column. This also makes the view compact.
Moving block and char dev indicators in the space for size.
master
Arun Prakash Jana 8 years ago
parent
commit
8563ec5cb2
No known key found for this signature in database GPG Key ID: A75979F35C080412
1 changed files with 15 additions and 23 deletions
  1. +15
    -23
      nnn.c

+ 15
- 23
nnn.c View File

@@ -458,7 +458,6 @@ printent_long(struct entry *ent, int active)
{ {
static char buf[18]; static char buf[18];
const static struct tm *p; const static struct tm *p;
static char name[PATH_MAX + 2];


p = localtime(&ent->t); p = localtime(&ent->t);
strftime(buf, 18, "%b %d %H:%M %Y", p); strftime(buf, 18, "%b %d %H:%M %Y", p);
@@ -466,29 +465,22 @@ printent_long(struct entry *ent, int active)
if (active) if (active)
attron(A_REVERSE); attron(A_REVERSE);


if (S_ISDIR(ent->mode)) {
sprintf(name, "%s/", ent->name);
printw("%s%-32.32s %-18.18s\n", cur(active), name, buf);
} else if (S_ISLNK(ent->mode)) {
sprintf(name, "%s@", ent->name);
printw("%s%-32.32s %-18.18s\n", cur(active), name, buf);
} else if (S_ISSOCK(ent->mode)) {
sprintf(name, "%s=", ent->name);
printw("%s%-32.32s %-18.18s\n", cur(active), name, buf);
} else if (S_ISFIFO(ent->mode)) {
sprintf(name, "%s|", ent->name);
printw("%s%-32.32s %-18.18s\n", cur(active), name, buf);
} else if (S_ISBLK(ent->mode))
printw("%s%-32.32s b %-18.18s\n", cur(active), ent->name, buf);
if (S_ISDIR(ent->mode))
printw("%s%-17.17s %s/\n", cur(active), buf, ent->name);
else if (S_ISLNK(ent->mode))
printw("%s%-17.17s %s@\n", cur(active), buf, ent->name);
else if (S_ISSOCK(ent->mode))
printw("%s%-17.17s %s=\n", cur(active), buf, ent->name);
else if (S_ISFIFO(ent->mode))
printw("%s%-17.17s %s|\n", cur(active), buf, ent->name);
else if (S_ISBLK(ent->mode))
printw("%s%-17.17s b %s\n", cur(active), buf, ent->name);
else if (S_ISCHR(ent->mode)) else if (S_ISCHR(ent->mode))
printw("%s%-32.32s c %-18.18s\n", cur(active), ent->name, buf);
else if (ent->mode & S_IXUSR) {
sprintf(name, "%s*", ent->name);
printw("%s%-32.32s %-18.18s %s\n", cur(active), name,
buf, coolsize(ent->size));
} else
printw("%s%-32.32s %-18.18s %s\n", cur(active), ent->name,
buf, coolsize(ent->size));
printw("%s%-17.17s c %s\n", cur(active), buf, ent->name);
else if (ent->mode & S_IXUSR)
printw("%s%-17.17s %8.8s %s*\n", cur(active), buf, coolsize(ent->size), ent->name);
else
printw("%s%-17.17s %8.8s %s\n", cur(active), buf, coolsize(ent->size), ent->name);


if (active) if (active)
attroff(A_REVERSE); attroff(A_REVERSE);


Loading…
Cancel
Save