Quellcode durchsuchen

Simpler regular listing

master
Arun Prakash Jana vor 8 Jahren
Ursprung
Commit
98e3f22cb4
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden GPG-Schlüssel-ID: A75979F35C080412
2 geänderte Dateien mit 17 neuen und 35 gelöschten Zeilen
  1. +2
    -2
      README.md
  2. +15
    -33
      noice.c

+ 2
- 2
README.md Datei anzeigen

@@ -44,7 +44,7 @@ I chose to fork noice because:
### Fork toppings

- Behaviour and navigation
- Optional detailed view with file type and size (default: disabled)
- Optional detail view with file type and size (default: disabled)
- Case-insensitive alphabetic content listing instead of upper case first
- Roll over at the first and last entries of a directory (with Up/Down keys)
- Sort entries by file size (largest to smallest)
@@ -98,7 +98,7 @@ Start noice (default: current directory):
| `~` | jump to home dir |
| `/`, `&` | filter dir contents |
| `c` | show change dir prompt |
| 'd' | toggle detail view |
| `d` | toggle detail view |
| `.` | toggle hide dot files |
| `s` | toggle sort by file size |
| `t` | toggle sort by modified time |


+ 15
- 33
noice.c Datei anzeigen

@@ -420,38 +420,18 @@ mkpath(char *dir, char *name, char *out, size_t n)
void
printent(struct entry *ent, int active)
{
char name[PATH_MAX];
unsigned int maxlen = COLS - strlen(CURSR) - 1;
char cm = 0;

/* Copy name locally */
strlcpy(name, ent->name, sizeof(name));

if (S_ISDIR(ent->mode)) {
cm = '/';
maxlen--;
} else if (S_ISLNK(ent->mode)) {
cm = '@';
maxlen--;
} else if (S_ISSOCK(ent->mode)) {
cm = '=';
maxlen--;
} else if (S_ISFIFO(ent->mode)) {
cm = '|';
maxlen--;
} else if (ent->mode & S_IXUSR) {
cm = '*';
maxlen--;
}

/* No text wrapping in entries */
if (strlen(name) > maxlen)
name[maxlen] = '\0';

if (cm == 0)
printw("%s%s\n", active ? CURSR : EMPTY, name);
if (S_ISDIR(ent->mode))
printw("%s%s/\n", active ? CURSR : EMPTY, ent->name);
else if (S_ISLNK(ent->mode))
printw("%s%s@\n", active ? CURSR : EMPTY, ent->name);
else if (S_ISSOCK(ent->mode))
printw("%s%s=\n", active ? CURSR : EMPTY, ent->name);
else if (S_ISFIFO(ent->mode))
printw("%s%s|\n", active ? CURSR : EMPTY, ent->name);
else if (ent->mode & S_IXUSR)
printw("%s%s*\n", active ? CURSR : EMPTY, ent->name);
else
printw("%s%s%c\n", active ? CURSR : EMPTY, name, cm);
printw("%s%s\n", active ? CURSR : EMPTY, ent->name);
}

char*
@@ -485,9 +465,11 @@ printent_long(struct entry *ent, int active)
else if (S_ISCHR(ent->mode))
printw("%s%-32.32s C\n", active ? CURSR : EMPTY, ent->name);
else if (ent->mode & S_IXUSR)
printw("%s%-32.32s E %s\n", active ? CURSR : EMPTY, ent->name, coolsize(ent->size));
printw("%s%-32.32s E %s\n", active ? CURSR : EMPTY, ent->name,
coolsize(ent->size));
else
printw("%s%-32.32s R %s\n", active ? CURSR : EMPTY, ent->name, coolsize(ent->size));
printw("%s%-32.32s R %s\n", active ? CURSR : EMPTY, ent->name,
coolsize(ent->size));
}

int


Laden…
Abbrechen
Speichern