mirror of https://github.com/encounter/SDL.git
Fixed bug 4085 - X11: Allow configuring _NET_WM_BYPASS_COMPOSITOR through SDL hints
Callum McGing This patch allows the user to disable the behaviour that blocks the compositor through a new hint: SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR. This allows tools or other windowed applications to behave properly under KWin.
This commit is contained in:
parent
926d803f83
commit
8ddebfa06e
|
@ -211,6 +211,18 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_VIDEO_X11_NET_WM_PING "SDL_VIDEO_X11_NET_WM_PING"
|
#define SDL_HINT_VIDEO_X11_NET_WM_PING "SDL_VIDEO_X11_NET_WM_PING"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether the X11 _NET_WM_BYPASS_COMPOSITOR hint should be used.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - Disable _NET_WM_BYPASS_COMPOSITOR
|
||||||
|
* "1" - Enable _NET_WM_BYPASS_COMPOSITOR
|
||||||
|
*
|
||||||
|
* By default SDL will use _NET_WM_BYPASS_COMPOSITOR
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR "SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable controlling whether the window frame and title bar are interactive when the cursor is hidden
|
* \brief A variable controlling whether the window frame and title bar are interactive when the cursor is hidden
|
||||||
*
|
*
|
||||||
|
|
|
@ -579,11 +579,12 @@ X11_CreateWindow(_THIS, SDL_Window * window)
|
||||||
wintype = X11_XInternAtom(display, wintype_name, False);
|
wintype = X11_XInternAtom(display, wintype_name, False);
|
||||||
X11_XChangeProperty(display, w, _NET_WM_WINDOW_TYPE, XA_ATOM, 32,
|
X11_XChangeProperty(display, w, _NET_WM_WINDOW_TYPE, XA_ATOM, 32,
|
||||||
PropModeReplace, (unsigned char *)&wintype, 1);
|
PropModeReplace, (unsigned char *)&wintype, 1);
|
||||||
|
if (SDL_GetHintBoolean(SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR, SDL_TRUE)) {
|
||||||
_NET_WM_BYPASS_COMPOSITOR = X11_XInternAtom(display, "_NET_WM_BYPASS_COMPOSITOR", False);
|
_NET_WM_BYPASS_COMPOSITOR = X11_XInternAtom(display, "_NET_WM_BYPASS_COMPOSITOR", False);
|
||||||
X11_XChangeProperty(display, w, _NET_WM_BYPASS_COMPOSITOR, XA_CARDINAL, 32,
|
X11_XChangeProperty(display, w, _NET_WM_BYPASS_COMPOSITOR, XA_CARDINAL, 32,
|
||||||
PropModeReplace,
|
PropModeReplace,
|
||||||
(unsigned char *)&compositor, 1);
|
(unsigned char *)&compositor, 1);
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
Atom protocols[3];
|
Atom protocols[3];
|
||||||
|
|
Loading…
Reference in New Issue