By default, full screen windows that lose focus will be iconified and
the video mode will be restored. This makes it impossible to create
applications spanning multiple monitors. The GLFW_AUTO_ICONIFY window
hint will allow users to disable this behavior.
Fixes#143.
This patch introduces a new backend that enables GLFW applications to
run on Wayland. For now, only output is supported (windowed and
fullscreen). Pointer cursor management, input devices, clipboard etc are
not supported yet.
There are some concepts that can not be supported, more specifically
glfwSetWindowPos, glfwGetWindowPos and glfwSetCursorPos, as they are not
supported by Wayland.
This patch also changes the time and joystick implementations used by the
X11 backend to be shared between the Wayland backend and the X11 backend.
The context related parts of _GLFWwndconfig have been moved to
_GLFWctxconfig and given better names. Window hint and attribute
members have been renamed to match.
Parameters are something specified at creation time and are often
immutable, while many of the values returned by glfwGetWindowParam
reflected current state not controlled by any parameter or hint.
The default behavior of WGL, EGL and GLX is to choose a config that has
/at least/ the specified number of bits, whereas the GLFW 2 behavior was
to choose the closest match with very few hard constraints. Moving the
responsibility of finding the supported minimum values to the client was
problematic, as there's no way to enumerate supported configurations,
forcing the client to perform multiple (and slow) window/context
creation attempts. Not even the currently set defaults (24-bit color
and depth, 8-bit stencil) is universally supported, as bug reports show.