From b15eaeda16c88b38ce8b343431824cb01c222b88 Mon Sep 17 00:00:00 2001 From: Camilla Berglund Date: Mon, 15 Jun 2015 15:25:31 +0200 Subject: [PATCH] Implemented auto-iconification on X11. Fixes #531. --- README.md | 1 + src/x11_window.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/README.md b/README.md index 41f776c8..26ca38f9 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,7 @@ GLFW bundles a number of dependencies in the `deps/` directory. - [X11] Bugfix: Character input via XIM did not work in many cases - [X11] Bugfix: No fallback existed for missing `_NET_ACTIVE_WINDOW` support - [X11] Bugfix: Some significant window focus events were ignored + - [X11] Bugfix: Auto-iconification of full screen windows was not implemented - [WGL] Removed `GLFW_USE_DWM_SWAP_INTERVAL` compile-time option - [WGL] Bugfix: Swap interval was ignored when DWM was enabled - [GLX] Added dependency on `libdl` on systems where it provides `dlopen` diff --git a/src/x11_window.c b/src/x11_window.c index 8bb6da76..747da31a 100644 --- a/src/x11_window.c +++ b/src/x11_window.c @@ -1234,6 +1234,9 @@ static void processEvent(XEvent *event) if (window->cursorMode == GLFW_CURSOR_DISABLED) disableCursor(window); + if (window->monitor && window->autoIconify) + enterFullscreenMode(window); + _glfwInputWindowFocus(window, GL_TRUE); return; } @@ -1254,6 +1257,12 @@ static void processEvent(XEvent *event) if (window->cursorMode == GLFW_CURSOR_DISABLED) restoreCursor(window); + if (window->monitor && window->autoIconify) + { + _glfwPlatformIconifyWindow(window); + leaveFullscreenMode(window); + } + _glfwInputWindowFocus(window, GL_FALSE); return; }