diff options
| author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2026-01-25 01:26:21 +0100 |
|---|---|---|
| committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2026-01-25 01:26:21 +0100 |
| commit | b1b86d7e54e037a83850eb45df801b29b0ea1fbf (patch) | |
| tree | f55e7939ec64a77705209b67ed65842e1fb6988b /main.c | |
| parent | 288f12d36843b6e404adb35857fcd87943e63944 (diff) | |
| download | glitch-b1b86d7e54e037a83850eb45df801b29b0ea1fbf.tar.gz | |
Add SIGUSR1 to restart the window manager
Diffstat (limited to 'main.c')
| -rw-r--r-- | main.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -1,10 +1,18 @@ #include <pthread.h> +#include <signal.h> #include <unistd.h> #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); |
