diff options
Diffstat (limited to 'system/xtrs/window_close.diff')
-rw-r--r-- | system/xtrs/window_close.diff | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/system/xtrs/window_close.diff b/system/xtrs/window_close.diff new file mode 100644 index 0000000000..96bef4e05e --- /dev/null +++ b/system/xtrs/window_close.diff @@ -0,0 +1,35 @@ +diff -Naur xtrs-4.9d/trs_xinterface.c xtrs-4.9d.patched/trs_xinterface.c +--- xtrs-4.9d/trs_xinterface.c 2009-06-15 23:23:09.000000000 -0400 ++++ xtrs-4.9d.patched/trs_xinterface.c 2023-05-17 15:31:29.237827697 -0400 +@@ -730,6 +730,7 @@ + Colormap color_map; + XColor cdef; + XGCValues gcvals; ++ Atom wm_delete_window; + char *fontname = NULL; + char *widefontname = NULL; + int len; +@@ -737,6 +738,7 @@ + + screen = DefaultScreen(display); + color_map = DefaultColormap(display,screen); ++ wm_delete_window = XInternAtom(display, "WM_DELETE_WINDOW", False); + + (void) sprintf(option, "%s%s", program_name, ".foreground"); + if (XrmGetResource(x_db, option, "Xtrs.Foreground", &type, &value)) { +@@ -937,6 +939,7 @@ + trs_fix_size(window, OrigWidth, OrigHeight); + XStoreName(display,window,title); + XSelectInput(display, window, EVENT_MASK); ++ XSetWMProtocols(display, window, &wm_delete_window, 1); + + (void) sprintf(option, "%s%s", program_name, ".iconic"); + if (XrmGetResource(x_db, option, "Xtrs.Iconic", &type, &value)) { +@@ -1002,6 +1005,7 @@ + if (wait) { + XNextEvent(display, &event); + } else { ++ if (XCheckTypedEvent(display, ClientMessage, &event)) trs_exit(); + if (!XCheckMaskEvent(display, ~0, &event)) return; + } + |