~saurabhs/slstatus

d1b23e5509863fd0790261b2b388e687d5218d53 — Mart Lubbers 2 years ago 3fc2872
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
1 files changed, 5 insertions(+), 4 deletions(-)

M slstatus.c
M slstatus.c => slstatus.c +5 -4
@@ 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");