diff options
| author | 2016-08-22 13:44:52 +0100 | |
|---|---|---|
| committer | 2016-08-22 14:07:07 +0100 | |
| commit | dd29e81df5e3aa917bb89d13282c3ba38f458a3f (patch) | |
| tree | 6abe322b3a15d40569b3b6a55027de7b3f3b6fdb | |
| parent | bd79c29d8b3f4605de38a034fd24cf847dfa5273 (diff) | |
| download | nnn-dd29e81df5e3aa917bb89d13282c3ba38f458a3f.tar.gz | |
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.
| -rw-r--r-- | config.def.h | 1 | ||||
| -rw-r--r-- | noice.c | 12 |
2 files changed, 8 insertions, 5 deletions
diff --git a/config.def.h b/config.def.h index ca757df..3438693 100644 --- 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[] = { @@ -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]; |