x11: Let apps specify a custom _NET_WM_WINDOW_TYPE.

Fixes #5185.
This commit is contained in:
Ryan C. Gordon
2022-01-11 21:17:21 -05:00
parent f9b918ff40
commit 42302d0a59
2 changed files with 24 additions and 0 deletions

View File

@@ -392,6 +392,7 @@ X11_CreateWindow(_THIS, SDL_Window * window)
long compositor = 1;
Atom _NET_WM_PID;
long fevent = 0;
const char *hint = NULL;
#if SDL_VIDEO_OPENGL_GLX || SDL_VIDEO_OPENGL_EGL
const char *forced_visual_id = SDL_GetHint(SDL_HINT_VIDEO_X11_WINDOW_VISUALID);
@@ -591,6 +592,8 @@ X11_CreateWindow(_THIS, SDL_Window * window)
wintype_name = "_NET_WM_WINDOW_TYPE_TOOLTIP";
} else if (window->flags & SDL_WINDOW_POPUP_MENU) {
wintype_name = "_NET_WM_WINDOW_TYPE_POPUP_MENU";
} else if ( ((hint = SDL_GetHint(SDL_HINT_X11_WINDOW_TYPE)) != NULL) && *hint ) {
wintype_name = hint;
} else {
wintype_name = "_NET_WM_WINDOW_TYPE_NORMAL";
compositor = 1; /* disable compositing for "normal" windows */