From 9f453457fe138a75888458680fec01b2324ab5b9 Mon Sep 17 00:00:00 2001 From: Bao Chi Tran Nguyen Date: Mon, 30 Aug 2021 22:57:26 +0200 Subject: [PATCH] Exit on window close on Linux. (#35) --- src/pc/gfx/gfx_glx.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/pc/gfx/gfx_glx.c b/src/pc/gfx/gfx_glx.c index 5f5dd87..9d2743e 100644 --- a/src/pc/gfx/gfx_glx.c +++ b/src/pc/gfx/gfx_glx.c @@ -411,6 +411,8 @@ static void gfx_glx_get_dimensions(uint32_t *width, uint32_t *height) { } static void gfx_glx_handle_events(void) { + Atom wm_delete_window = XInternAtom(glx.dpy, "WM_DELETE_WINDOW", 0); + XSetWMProtocols(glx.dpy, glx.win, & wm_delete_window, 1); while (XPending(glx.dpy)) { XEvent xev; XNextEvent(glx.dpy, &xev); @@ -438,6 +440,11 @@ static void gfx_glx_handle_events(void) { } } } + if (xev.type == ClientMessage) { + if (xev.xclient.data.l[0] == wm_delete_window) { + exit(0); + } + } } }