mirror of
https://github.com/glfw/glfw.git
synced 2026-09-17 22:32:50 +00:00
Add back tracking of X11 override-redirect
This commit is contained in:
@@ -116,6 +116,8 @@ typedef struct _GLFWwindowX11
|
||||
Window handle;
|
||||
XIC ic;
|
||||
|
||||
GLFWbool overrideRedirect;
|
||||
|
||||
// Cached position and size used to filter out duplicate events
|
||||
int width, height;
|
||||
int xpos, ypos;
|
||||
|
||||
+4
-2
@@ -318,6 +318,8 @@ static GLFWbool createWindow(_GLFWwindow* window,
|
||||
window->x11.handle,
|
||||
CWOverrideRedirect,
|
||||
&attributes);
|
||||
|
||||
window->x11.overrideRedirect = GLFW_TRUE;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1737,7 +1739,7 @@ void _glfwPlatformGetWindowFrameSize(_GLFWwindow* window,
|
||||
|
||||
void _glfwPlatformIconifyWindow(_GLFWwindow* window)
|
||||
{
|
||||
if (!_glfw.x11.NET_WM_STATE || !_glfw.x11.NET_WM_STATE_FULLSCREEN)
|
||||
if (window->x11.overrideRedirect)
|
||||
{
|
||||
// Override-redirect windows cannot be iconified or restored, as those
|
||||
// tasks are performed by the window manager
|
||||
@@ -1752,7 +1754,7 @@ void _glfwPlatformIconifyWindow(_GLFWwindow* window)
|
||||
|
||||
void _glfwPlatformRestoreWindow(_GLFWwindow* window)
|
||||
{
|
||||
if (!_glfw.x11.NET_WM_STATE || !_glfw.x11.NET_WM_STATE_FULLSCREEN)
|
||||
if (window->x11.overrideRedirect)
|
||||
{
|
||||
// Override-redirect windows cannot be iconified or restored, as those
|
||||
// tasks are performed by the window manager
|
||||
|
||||
Reference in New Issue
Block a user