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.
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[] = {
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;
}
if (getuid() == 0)
+ showhidden = 1;
+
+ if (showhidden)
ifilter = ".";
else
- ifilter = "^[^.]"; /* Hide dotfiles */
+ ifilter = "^[^.]";
if (argv[1] != NULL) {
ipath = argv[1];