mirror of
https://github.com/encounter/SDL.git
synced 2025-05-23 15:51:23 +00:00
parent
f9b918ff40
commit
42302d0a59
@ -1824,6 +1824,27 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
#define SDL_HINT_AUDIO_INCLUDE_MONITORS "SDL_AUDIO_INCLUDE_MONITORS"
|
#define SDL_HINT_AUDIO_INCLUDE_MONITORS "SDL_AUDIO_INCLUDE_MONITORS"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable that forces X11 windows to create as a custom type.
|
||||||
|
*
|
||||||
|
* This is currently only used for X11 and ignored elsewhere.
|
||||||
|
*
|
||||||
|
* During SDL_CreateWindow, SDL uses the _NET_WM_WINDOW_TYPE X11 property
|
||||||
|
* to report to the window manager the type of window it wants to create.
|
||||||
|
* This might be set to various things if SDL_WINDOW_TOOLTIP or
|
||||||
|
* SDL_WINDOW_POPUP_MENU, etc, were specified. For "normal" windows that
|
||||||
|
* haven't set a specific type, this hint can be used to specify a custom
|
||||||
|
* type. For example, a dock window might set this to
|
||||||
|
* "_NET_WM_WINDOW_TYPE_DOCK".
|
||||||
|
*
|
||||||
|
* If not set or set to "", this hint is ignored. This hint must be set
|
||||||
|
* before the SDL_CreateWindow() call that it is intended to affect.
|
||||||
|
*
|
||||||
|
* This hint is available since SDL 2.0.22. Before then, virtual devices are
|
||||||
|
* always ignored.
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_X11_WINDOW_TYPE "SDL_X11_WINDOW_TYPE"
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief An enumeration of hint priorities
|
* \brief An enumeration of hint priorities
|
||||||
|
@ -392,6 +392,7 @@ X11_CreateWindow(_THIS, SDL_Window * window)
|
|||||||
long compositor = 1;
|
long compositor = 1;
|
||||||
Atom _NET_WM_PID;
|
Atom _NET_WM_PID;
|
||||||
long fevent = 0;
|
long fevent = 0;
|
||||||
|
const char *hint = NULL;
|
||||||
|
|
||||||
#if SDL_VIDEO_OPENGL_GLX || SDL_VIDEO_OPENGL_EGL
|
#if SDL_VIDEO_OPENGL_GLX || SDL_VIDEO_OPENGL_EGL
|
||||||
const char *forced_visual_id = SDL_GetHint(SDL_HINT_VIDEO_X11_WINDOW_VISUALID);
|
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";
|
wintype_name = "_NET_WM_WINDOW_TYPE_TOOLTIP";
|
||||||
} else if (window->flags & SDL_WINDOW_POPUP_MENU) {
|
} else if (window->flags & SDL_WINDOW_POPUP_MENU) {
|
||||||
wintype_name = "_NET_WM_WINDOW_TYPE_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 {
|
} else {
|
||||||
wintype_name = "_NET_WM_WINDOW_TYPE_NORMAL";
|
wintype_name = "_NET_WM_WINDOW_TYPE_NORMAL";
|
||||||
compositor = 1; /* disable compositing for "normal" windows */
|
compositor = 1; /* disable compositing for "normal" windows */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user