From 9b8ffb5847bac35a0a7659d7b295cedca54fb107 Mon Sep 17 00:00:00 2001 From: gouchi Date: Sun, 7 Dec 2025 20:55:14 +0100 Subject: [PATCH 1/2] x11 : Add support for NET_WM_NAME --- gfx/common/x11_common.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/gfx/common/x11_common.c b/gfx/common/x11_common.c index 901cea170d7e..6b5d4dc51c57 100644 --- a/gfx/common/x11_common.c +++ b/gfx/common/x11_common.c @@ -810,11 +810,24 @@ void x11_update_title(void *data) { size_t _len; char title[128]; - title[0] = '\0'; - _len = video_driver_get_window_title(title, sizeof(title)); + title[0] = '\0'; + _len = video_driver_get_window_title(title, sizeof(title)); + Atom XA_NET_WM_NAME = XInternAtom(g_x11_dpy, "_NET_WM_NAME", False); + Atom XA_UTF8_STRING = XInternAtom(g_x11_dpy, "UTF8_STRING", False); + if (title[0]) - XChangeProperty(g_x11_dpy, g_x11_win, XA_WM_NAME, XA_STRING, + { + if (XA_NET_WM_NAME != None && XA_UTF8_STRING != None) + { + XChangeProperty(g_x11_dpy, g_x11_win, XA_NET_WM_NAME, XA_UTF8_STRING, + 8, PropModeReplace, (const unsigned char*)title, _len); + } + else + { + XChangeProperty(g_x11_dpy, g_x11_win, XA_WM_NAME, XA_STRING, 8, PropModeReplace, (const unsigned char*)title, _len); + } + } } bool x11_input_ctx_new(bool true_full) From 26d3a999eba541847cc6c06948b503299760c5d6 Mon Sep 17 00:00:00 2001 From: gouchi Date: Sun, 25 Jan 2026 21:40:30 +0100 Subject: [PATCH 2/2] Fix C89 --- gfx/common/x11_common.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gfx/common/x11_common.c b/gfx/common/x11_common.c index 6b5d4dc51c57..de9a4a860573 100644 --- a/gfx/common/x11_common.c +++ b/gfx/common/x11_common.c @@ -810,13 +810,16 @@ void x11_update_title(void *data) { size_t _len; char title[128]; + Atom XA_NET_WM_NAME; + Atom XA_UTF8_STRING; title[0] = '\0'; _len = video_driver_get_window_title(title, sizeof(title)); - Atom XA_NET_WM_NAME = XInternAtom(g_x11_dpy, "_NET_WM_NAME", False); - Atom XA_UTF8_STRING = XInternAtom(g_x11_dpy, "UTF8_STRING", False); if (title[0]) { + Atom XA_NET_WM_NAME = XInternAtom(g_x11_dpy, "_NET_WM_NAME", False); + Atom XA_UTF8_STRING = XInternAtom(g_x11_dpy, "UTF8_STRING", False); + if (XA_NET_WM_NAME != None && XA_UTF8_STRING != None) { XChangeProperty(g_x11_dpy, g_x11_win, XA_NET_WM_NAME, XA_UTF8_STRING,