Also set the _NET_WM_NAME. Window managers supporting this will take this value over the value set by XStoreName. This explicitly supports UTF-8 encoding, which fixes corrupt UTF-8 titles in KDE.
parent
52df7f5b8f
commit
cad269bc27
|
@ -376,7 +376,7 @@ X11_MessageBoxCreateWindow( SDL_MessageBoxDataX11 *data )
|
||||||
int x, y;
|
int x, y;
|
||||||
XSizeHints *sizehints;
|
XSizeHints *sizehints;
|
||||||
XSetWindowAttributes wnd_attr;
|
XSetWindowAttributes wnd_attr;
|
||||||
Atom _NET_WM_WINDOW_TYPE, _NET_WM_WINDOW_TYPE_DIALOG;
|
Atom _NET_WM_WINDOW_TYPE, _NET_WM_WINDOW_TYPE_DIALOG, _NET_WM_NAME, UTF8_STRING;
|
||||||
Display *display = data->display;
|
Display *display = data->display;
|
||||||
SDL_WindowData *windowdata = NULL;
|
SDL_WindowData *windowdata = NULL;
|
||||||
const SDL_MessageBoxData *messageboxdata = data->messageboxdata;
|
const SDL_MessageBoxData *messageboxdata = data->messageboxdata;
|
||||||
|
@ -411,6 +411,11 @@ X11_MessageBoxCreateWindow( SDL_MessageBoxDataX11 *data )
|
||||||
}
|
}
|
||||||
|
|
||||||
X11_XStoreName( display, data->window, messageboxdata->title );
|
X11_XStoreName( display, data->window, messageboxdata->title );
|
||||||
|
_NET_WM_NAME = X11_XInternAtom(display, "_NET_WM_NAME", False);
|
||||||
|
UTF8_STRING = X11_XInternAtom(display, "UTF8_STRING", False);
|
||||||
|
X11_XChangeProperty(display, data->window, _NET_WM_NAME, UTF8_STRING, 8,
|
||||||
|
PropModeReplace, (unsigned char *) messageboxdata->title,
|
||||||
|
strlen(messageboxdata->title) + 1 );
|
||||||
|
|
||||||
/* Let the window manager know this is a dialog box */
|
/* Let the window manager know this is a dialog box */
|
||||||
_NET_WM_WINDOW_TYPE = X11_XInternAtom(display, "_NET_WM_WINDOW_TYPE", False);
|
_NET_WM_WINDOW_TYPE = X11_XInternAtom(display, "_NET_WM_WINDOW_TYPE", False);
|
||||||
|
|
Loading…
Reference in New Issue