- current item in reverse video
- number of items in current directory
- full name of currently selected file
+ - Directories first
+ - Sort numeric names in numeric order
- 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)
- Removed navigation restriction with relative paths (and let permissions handle it)
- Sort entries by file size (largest to smallest)
- - Sort numeric names in numeric order
- Shortcut to invoke file name copier (set using environment variable `NNN_COPIER`)
- File associations
- Environment variable `NNN_OPENER` to let desktop opener handle it all. E.g.:
static int
entrycmp(const void *va, const void *vb)
{
+ static pEntry pa, pb;
+
+ pa = (pEntry)va;
+ pb = (pEntry)vb;
+
+ /* Sort directories first */
+ if (S_ISDIR(pb->mode) && !S_ISDIR(pa->mode))
+ return 1;
+ else if (S_ISDIR(pa->mode) && !S_ISDIR(pb->mode))
+ return -1;
+
+ /* Do the actual sorting */
if (mtimeorder)
- return ((pEntry)vb)->t - ((pEntry)va)->t;
+ return pb->t - pa->t;
if (sizeorder)
- return ((pEntry)vb)->size - ((pEntry)va)->size;
+ return pb->size - pa->size;
- return xstricmp(((pEntry)va)->name, ((pEntry)vb)->name);
+ return xstricmp(pa->name, pb->name);
}
static void