From 3f9f8b015922213611320ed9f5b0fb9e603a226c Mon Sep 17 00:00:00 2001 From: katalx Date: Wed, 28 Jan 2026 21:15:24 -0500 Subject: close events now work properly!! --- ui.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'ui.c') diff --git a/ui.c b/ui.c index f8c728c..80d6267 100644 --- a/ui.c +++ b/ui.c @@ -16,6 +16,7 @@ static int scr; static unsigned long fg, bg; static XSizeHints szhint; static GC gc; +static Atom wm_delete_window; static Font freg, fital; @@ -55,6 +56,9 @@ ui_init(int argc, char **argv) XSelectInput(dsp, win, KeyPressMask | ExposureMask); XMapRaised(dsp, win); + wm_delete_window = XInternAtom(dsp, "WM_DELETE_WINDOW", False); + XSetWMProtocols(dsp, win, &wm_delete_window, 1); + freg = XLoadFont(dsp, "-*-new century schoolbook-medium-r-*-*-24-*-*-*-*-*-*-*"); fital = XLoadFont(dsp, "-*-new century schoolbook-medium-i-*-*-24-*-*-*-*-*-*-*"); } @@ -99,6 +103,12 @@ loop: case Expose: e->type = UI_REDRAW; return 1; + case ClientMessage: + if (ev.xclient.data.l[0] == wm_delete_window) { + e->type = UI_QUIT; + return 1; + } + break; } fprintf(stderr, "[Unknown event %d]\n", ev.type); goto loop; -- cgit v1.2.3