mirror of
https://github.com/jarun/nnn.git
synced 2024-11-28 05:41:31 +00:00
Run screensaver after a period of idleness
This commit is contained in:
parent
c5283392fb
commit
1e18b85e56
|
@ -3,6 +3,8 @@
|
|||
#define EMPTY " "
|
||||
|
||||
int mtimeorder = 0; /* Set to 1 to sort by time in the default case */
|
||||
int idletimeout = 0; /* Screensaver timeout in seconds, 0 to disable */
|
||||
char *idlecmd = "rain"; /* The screensaver program */
|
||||
|
||||
struct assoc assocs[] = {
|
||||
{ "\\.(avi|mp4|mkv|mp3|ogg|flac|mov)$", "mplayer" },
|
||||
|
|
13
noice.c
13
noice.c
|
@ -82,6 +82,7 @@ struct entry *dents;
|
|||
int n, cur;
|
||||
char *path, *oldpath;
|
||||
char *fltr;
|
||||
int idle;
|
||||
|
||||
/*
|
||||
* Layout:
|
||||
|
@ -259,6 +260,7 @@ initcurses(void)
|
|||
intrflush(stdscr, FALSE);
|
||||
keypad(stdscr, TRUE);
|
||||
curs_set(FALSE); /* Hide cursor */
|
||||
timeout(1000); /* One second */
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -314,6 +316,10 @@ nextsel(char **run)
|
|||
int c, i;
|
||||
|
||||
c = getch();
|
||||
if (c == -1)
|
||||
idle++;
|
||||
else
|
||||
idle = 0;
|
||||
|
||||
for (i = 0; i < LEN(bindings); i++)
|
||||
if (c == bindings[i].sym) {
|
||||
|
@ -879,6 +885,13 @@ moretyping:
|
|||
initcurses();
|
||||
break;
|
||||
}
|
||||
/* Screensaver */
|
||||
if (idletimeout != 0 && idle == idletimeout) {
|
||||
idle = 0;
|
||||
exitcurses();
|
||||
spawn(idlecmd, NULL, NULL);
|
||||
initcurses();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue