Added support for _NET_WM_FULLSCREEN_MONITORS.

This allows EWMH full screen windows to correctly cover monitors that
overlap other monitors, such as an Oculus Rift mapped onto a section of
a larger monitor.

Fixes #175.
This commit is contained in:
Camilla Berglund
2014-09-22 12:49:03 +02:00
parent 2488c67798
commit 4918514eaf
5 changed files with 75 additions and 1 deletions
+14
View File
@@ -48,6 +48,9 @@
// The Xkb extension provides improved keyboard support
#include <X11/XKBlib.h>
// The Xinerama extension provides legacy monitor indices
#include <X11/extensions/Xinerama.h>
#include "posix_tls.h"
#if defined(_GLFW_GLX)
@@ -130,6 +133,7 @@ typedef struct _GLFWlibraryX11
Atom NET_WM_STATE_ABOVE;
Atom NET_WM_STATE_FULLSCREEN;
Atom NET_WM_BYPASS_COMPOSITOR;
Atom NET_WM_FULLSCREEN_MONITORS;
Atom NET_ACTIVE_WINDOW;
Atom NET_FRAME_EXTENTS;
Atom NET_REQUEST_FRAME_EXTENTS;
@@ -205,6 +209,12 @@ typedef struct _GLFWlibraryX11
Window source;
} xdnd;
struct {
GLboolean available;
int versionMajor;
int versionMinor;
} xinerama;
} _GLFWlibraryX11;
@@ -216,6 +226,10 @@ typedef struct _GLFWmonitorX11
RRCrtc crtc;
RRMode oldMode;
// Index of corresponding Xinerama screen,
// for EWMH full screen window placement
int index;
} _GLFWmonitorX11;