Make toggle dot behaviour persistent - noice - small file browser (mirror / fork from 2f30.org)
HTML git clone git://git.codemadness.org/noice
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
DIR commit dd29e81df5e3aa917bb89d13282c3ba38f458a3f
DIR parent bd79c29d8b3f4605de38a034fd24cf847dfa5273
HTML Author: sin <sin@2f30.org>
Date: Mon, 22 Aug 2016 13:44:52 +0100
Make toggle dot behaviour persistent
Once set, the default filter is updated. This means that
toggle dot will also work as expected when noice is executed
as root.
Based on discussion with Ypnose.
Diffstat:
M config.def.h | 1 +
M noice.c | 12 +++++++-----
2 files changed, 8 insertions(+), 5 deletions(-)
---
DIR diff --git a/config.def.h b/config.def.h
@@ -5,6 +5,7 @@
int mtimeorder = 0; /* Set to 1 to sort by time modified */
int idletimeout = 0; /* Screensaver timeout in seconds, 0 to disable */
+int showhidden = 0; /* Set to 1 to show hidden files by default */
char *idlecmd = "rain"; /* The screensaver program */
struct assoc assocs[] = {
DIR diff --git a/noice.c b/noice.c
@@ -733,10 +733,9 @@ nochange:
DPRINTF_S(path);
goto begin;
case SEL_TOGGLEDOT:
- if (strcmp(fltr, ifilter) != 0)
- strlcpy(fltr, ifilter, sizeof(fltr));
- else
- strlcpy(fltr, ".", sizeof(fltr));
+ showhidden ^= 1;
+ ifilter = showhidden ? "." : "^[^.]";
+ strlcpy(fltr, ifilter, sizeof(fltr));
goto begin;
case SEL_MTIME:
mtimeorder = !mtimeorder;
@@ -795,9 +794,12 @@ main(int argc, char *argv[])
}
if (getuid() == 0)
+ showhidden = 1;
+
+ if (showhidden)
ifilter = ".";
else
- ifilter = "^[^.]"; /* Hide dotfiles */
+ ifilter = "^[^.]";
if (argv[1] != NULL) {
ipath = argv[1];