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.
This commit is contained in:
sin 2016-08-22 13:44:52 +01:00
parent bd79c29d8b
commit dd29e81df5
2 changed files with 8 additions and 5 deletions

View File

@ -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[] = {

12
noice.c
View File

@ -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];