From 8abe8700121c328297825c57be8f827e055bba5f Mon Sep 17 00:00:00 2001 From: Miles Alan Date: Sun, 8 Nov 2020 11:56:20 -0600 Subject: [PATCH] Make suspendtimeout for screenlock cutomizable via SXMO_SUSPENDTIMEOUTS This way if someone wants a longer or shorter timeout that possible by setting the env var SXMO_SUSPENDTIMEOUTS. Also change the default to be 35s. This is roughly the duration of ringing for an incoming phone call. --- programs/sxmo_screenlock.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/programs/sxmo_screenlock.c b/programs/sxmo_screenlock.c index 34ed5e7..d7aba7f 100644 --- a/programs/sxmo_screenlock.c +++ b/programs/sxmo_screenlock.c @@ -52,6 +52,7 @@ void writefile(char *filepath, char *str); // Variables Display *dpy; enum State state = StateNoInput; +int suspendtimeouts = 35; int suspendpendingsceenon = 0; int suspendpendingtimeouts = 0; KeySym lastkeysym = XK_Cancel; @@ -298,8 +299,8 @@ readinputloop(Display *dpy, int screen) { } } else if (state == StateSuspendPending) { suspendpendingtimeouts++; - // # E.g. after 4s kick back into suspend - if (suspendpendingtimeouts > 4) state = StateSuspend; + // # E.g. after suspendtimeouts seconds kick back into suspend + if (suspendpendingtimeouts > suspendtimeouts) state = StateSuspend; syncstate(); } @@ -439,6 +440,9 @@ main(int argc, char **argv) { signal(SIGTERM, sigterm); + const char* suspendtimeouts_str = getenv("SXMO_SUSPENDTIMEOUTS"); + if (suspendtimeouts_str != NULL) suspendtimeouts = atoi(suspendtimeouts_str); + const char* rtcwakeinterval = getenv("SXMO_RTCWAKEINTERVAL"); if (rtcwakeinterval != NULL) wakeinterval = atoi(rtcwakeinterval);