Handle SIGUSR1 for forced refreshes

At some point one might want to force a refresh for example after
checking email or changing the volume. Sending a SIGUSR1 achieves this
now
This commit is contained in:
Mart Lubbers 2020-06-18 08:46:12 +02:00 committed by Aaron Marcher
parent 3fc2872d1b
commit d1b23e5509

View file

@ -18,7 +18,7 @@ struct arg {
};
char buf[1024];
static int done;
static volatile sig_atomic_t done;
static Display *dpy;
#include "config.h"
@ -26,9 +26,8 @@ static Display *dpy;
static void
terminate(const int signo)
{
(void)signo;
done = 1;
if (signo != SIGUSR1)
done = 1;
}
static void
@ -72,6 +71,8 @@ main(int argc, char *argv[])
act.sa_handler = terminate;
sigaction(SIGINT, &act, NULL);
sigaction(SIGTERM, &act, NULL);
act.sa_flags |= SA_RESTART;
sigaction(SIGUSR1, &act, NULL);
if (!sflag && !(dpy = XOpenDisplay(NULL))) {
die("XOpenDisplay: Failed to open display");