mirror of
https://github.com/jarun/nnn.git
synced 2024-11-28 05:41:31 +00:00
Show vol free in help
This commit is contained in:
parent
054f037bd2
commit
f178004b13
94
nnn.c
94
nnn.c
|
@ -1421,6 +1421,50 @@ show_stats(char *fpath, char *fname, struct stat *sb)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
getorder(size_t size)
|
||||||
|
{
|
||||||
|
switch (size) {
|
||||||
|
case 4096:
|
||||||
|
return 12;
|
||||||
|
case 512:
|
||||||
|
return 9;
|
||||||
|
case 8192:
|
||||||
|
return 13;
|
||||||
|
case 16384:
|
||||||
|
return 14;
|
||||||
|
case 32768:
|
||||||
|
return 15;
|
||||||
|
case 65536:
|
||||||
|
return 16;
|
||||||
|
case 131072:
|
||||||
|
return 17;
|
||||||
|
case 262144:
|
||||||
|
return 18;
|
||||||
|
case 524288:
|
||||||
|
return 19;
|
||||||
|
case 1048576:
|
||||||
|
return 20;
|
||||||
|
case 2048:
|
||||||
|
return 11;
|
||||||
|
case 1024:
|
||||||
|
return 10;
|
||||||
|
default:
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
update_fs_free(char *path)
|
||||||
|
{
|
||||||
|
static struct statvfs svb;
|
||||||
|
|
||||||
|
if (statvfs(path, &svb) == -1)
|
||||||
|
fs_free = 0;
|
||||||
|
else
|
||||||
|
fs_free = svb.f_bavail << getorder(svb.f_bsize);
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
show_mediainfo(char *fpath, char *arg)
|
show_mediainfo(char *fpath, char *arg)
|
||||||
{
|
{
|
||||||
|
@ -1434,7 +1478,7 @@ show_mediainfo(char *fpath, char *arg)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
show_help(void)
|
show_help(char *path)
|
||||||
{
|
{
|
||||||
char tmp[] = "/tmp/nnnXXXXXX";
|
char tmp[] = "/tmp/nnnXXXXXX";
|
||||||
static char helpstr[] = ("\
|
static char helpstr[] = ("\
|
||||||
|
@ -1485,7 +1529,7 @@ Home, g, ^, ^A | Jump to first entry\n\
|
||||||
dprintf(fd, "BOOKMARKS\n");
|
dprintf(fd, "BOOKMARKS\n");
|
||||||
for (; i < MAX_BM; ++i)
|
for (; i < MAX_BM; ++i)
|
||||||
if (bookmark[i].key)
|
if (bookmark[i].key)
|
||||||
dprintf(fd, "\t%s: %s\n",
|
dprintf(fd, " %s: %s\n",
|
||||||
bookmark[i].key, bookmark[i].loc);
|
bookmark[i].key, bookmark[i].loc);
|
||||||
else
|
else
|
||||||
break;
|
break;
|
||||||
|
@ -1504,6 +1548,9 @@ Home, g, ^, ^A | Jump to first entry\n\
|
||||||
if (copier)
|
if (copier)
|
||||||
dprintf(fd, "NNN_COPIER: %s\n", copier);
|
dprintf(fd, "NNN_COPIER: %s\n", copier);
|
||||||
|
|
||||||
|
update_fs_free(path);
|
||||||
|
dprintf(fd, "\nVolume: %s free\n", coolsize(fs_free));
|
||||||
|
|
||||||
dprintf(fd, "\n");
|
dprintf(fd, "\n");
|
||||||
close(fd);
|
close(fd);
|
||||||
|
|
||||||
|
@ -1525,39 +1572,6 @@ sum_bsizes(const char *fpath, const struct stat *sb,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
|
||||||
getorder(size_t size)
|
|
||||||
{
|
|
||||||
switch (size) {
|
|
||||||
case 4096:
|
|
||||||
return 12;
|
|
||||||
case 512:
|
|
||||||
return 9;
|
|
||||||
case 8192:
|
|
||||||
return 13;
|
|
||||||
case 16384:
|
|
||||||
return 14;
|
|
||||||
case 32768:
|
|
||||||
return 15;
|
|
||||||
case 65536:
|
|
||||||
return 16;
|
|
||||||
case 131072:
|
|
||||||
return 17;
|
|
||||||
case 262144:
|
|
||||||
return 18;
|
|
||||||
case 524288:
|
|
||||||
return 19;
|
|
||||||
case 1048576:
|
|
||||||
return 20;
|
|
||||||
case 2048:
|
|
||||||
return 11;
|
|
||||||
case 1024:
|
|
||||||
return 10;
|
|
||||||
default:
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
dentfill(char *path, struct entry **dents,
|
dentfill(char *path, struct entry **dents,
|
||||||
int (*filter)(regex_t *, char *), regex_t *re)
|
int (*filter)(regex_t *, char *), regex_t *re)
|
||||||
|
@ -1578,15 +1592,9 @@ dentfill(char *path, struct entry **dents,
|
||||||
n = 0;
|
n = 0;
|
||||||
|
|
||||||
if (cfg.blkorder) {
|
if (cfg.blkorder) {
|
||||||
static struct statvfs svb;
|
|
||||||
|
|
||||||
if (statvfs(path, &svb) == -1)
|
|
||||||
fs_free = 0;
|
|
||||||
else
|
|
||||||
fs_free = svb.f_bavail << getorder(svb.f_bsize);
|
|
||||||
|
|
||||||
num_files = 0;
|
num_files = 0;
|
||||||
dir_blocks = 0;
|
dir_blocks = 0;
|
||||||
|
update_fs_free(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
while ((dp = readdir(dirp)) != NULL) {
|
while ((dp = readdir(dirp)) != NULL) {
|
||||||
|
@ -2413,7 +2421,7 @@ nochange:
|
||||||
printmsg("NNN_COPIER is not set");
|
printmsg("NNN_COPIER is not set");
|
||||||
goto nochange;
|
goto nochange;
|
||||||
case SEL_HELP:
|
case SEL_HELP:
|
||||||
show_help();
|
show_help(path);
|
||||||
break;
|
break;
|
||||||
case SEL_RUN:
|
case SEL_RUN:
|
||||||
run = xgetenv(env, run);
|
run = xgetenv(env, run);
|
||||||
|
|
Loading…
Reference in a new issue