diff options
Diffstat (limited to 'pugl')
-rw-r--r-- | pugl/detail/x11.c | 5 | ||||
-rw-r--r-- | pugl/detail/x11.h | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/pugl/detail/x11.c b/pugl/detail/x11.c index a076d6f..32f1393 100644 --- a/pugl/detail/x11.c +++ b/pugl/detail/x11.c @@ -75,8 +75,10 @@ puglCreateWindow(PuglView* view, const char* title) impl->screen = DefaultScreen(display); // Intern the various atoms we will need + impl->atoms.UTF8_STRING = XInternAtom(display, "UTF8_STRING", 0); impl->atoms.WM_PROTOCOLS = XInternAtom(display, "WM_PROTOCOLS", 0); impl->atoms.WM_DELETE_WINDOW = XInternAtom(display, "WM_DELETE_WINDOW", 0); + impl->atoms.NET_WM_NAME = XInternAtom(display, "_NET_WM_NAME", 0); impl->atoms.NET_WM_STATE = XInternAtom(display, "_NET_WM_STATE", 0); impl->atoms.NET_WM_STATE_DEMANDS_ATTENTION = XInternAtom(display, "_NET_WM_STATE_DEMANDS_ATTENTION", 0); @@ -132,6 +134,9 @@ puglCreateWindow(PuglView* view, const char* title) if (title) { XStoreName(display, win, title); + XChangeProperty(display, win, + impl->atoms.NET_WM_NAME, impl->atoms.UTF8_STRING, 8, + PropModeReplace, (const uint8_t*)title, strlen(title)); } if (!view->parent) { diff --git a/pugl/detail/x11.h b/pugl/detail/x11.h index 98f42b0..1ead119 100644 --- a/pugl/detail/x11.h +++ b/pugl/detail/x11.h @@ -33,8 +33,10 @@ struct PuglInternalsImpl { PuglSurface* surface; struct { + Atom UTF8_STRING; Atom WM_PROTOCOLS; Atom WM_DELETE_WINDOW; + Atom NET_WM_NAME; Atom NET_WM_STATE; Atom NET_WM_STATE_DEMANDS_ATTENTION; } atoms; |