From b1b86d7e54e037a83850eb45df801b29b0ea1fbf Mon Sep 17 00:00:00 2001 From: Mitja Felicijan Date: Sun, 25 Jan 2026 01:26:21 +0100 Subject: Add SIGUSR1 to restart the window manager --- main.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/main.c b/main.c index 9453557..fff831b 100644 --- a/main.c +++ b/main.c @@ -1,10 +1,18 @@ #include +#include #include #include "glitch.h" WindowManager wm = {0}; +void handle_signal(int signal) { + wm.running = 0; + wm.restart = 1; + printf("running: %d\n", wm.running); + log_message(stderr, LOG_DEBUG, "Signal received: %d", signal); +} + static void* expose_timer_thread(void* arg) { (void)arg; @@ -49,6 +57,10 @@ int main(int argc, char *argv[]) { pthread_detach(timer_tid); } + // SIGUSR1 is used for restarting the window manager. + // kill -s SIGUSR1 $(pidof glitch) + signal(SIGUSR1, handle_signal); + wm.running = 1; while(wm.running) { XNextEvent(wm.dpy, &wm.ev); -- cgit v1.2.3