summaryrefslogtreecommitdiff
path: root/ui.c
diff options
context:
space:
mode:
authorkatalx2026-01-28 21:15:24 -0500
committerkatalx2026-01-28 21:15:24 -0500
commit3f9f8b015922213611320ed9f5b0fb9e603a226c (patch)
tree1e27ed89ea28511673420634c81efc65adabc2ee /ui.c
parent51f46587b509b3395cbd8acb73d53e1c1b031d7a (diff)
close events now work properly!!
Diffstat (limited to 'ui.c')
-rw-r--r--ui.c10
1 files changed, 10 insertions, 0 deletions
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;