|
|
|
@ -86,6 +86,38 @@ extension or there is no running compositing manager, the |
|
|
|
|
`GLFW_TRANSPARENT_FRAMEBUFFER` framebuffer hint will have no effect. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@section compat_wayland Wayland protocols and IPC standards |
|
|
|
|
|
|
|
|
|
As GLFW uses libwayland directly, without any intervening toolkit library, it |
|
|
|
|
has sole responsibility for interacting well with every compositor in use on |
|
|
|
|
Unix-like systems. Most of the features are provided by the core protocol, |
|
|
|
|
while cursor support is provided by the libwayland-cursor helper library, EGL |
|
|
|
|
integration by libwayland-egl, and keyboard handling by |
|
|
|
|
[libxkbcommon](https://xkbcommon.org/). In addition, GLFW uses some protocols |
|
|
|
|
from wayland-protocols to provide additional features if the compositor |
|
|
|
|
supports them. |
|
|
|
|
|
|
|
|
|
GLFW uses xkbcommon 0.5.0 to provide compose key support. When it has been |
|
|
|
|
built against an older xkbcommon, the compose key will be disabled even if it |
|
|
|
|
has been configured in the compositor. |
|
|
|
|
|
|
|
|
|
GLFW uses the [relative pointer |
|
|
|
|
protocol](https://cgit.freedesktop.org/wayland/wayland-protocols/tree/unstable/relative-pointer/relative-pointer-unstable-v1.xml) |
|
|
|
|
alongside the [pointer constraints |
|
|
|
|
protocol](https://cgit.freedesktop.org/wayland/wayland-protocols/tree/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml) |
|
|
|
|
to implement disabled cursor. These two protocols are part of |
|
|
|
|
wayland-protocols 1.1, and mandatory at build time. If the running compositor |
|
|
|
|
does not support both of these protocols, disabling the cursor will have no |
|
|
|
|
effect. |
|
|
|
|
|
|
|
|
|
GLFW uses the [idle inhibit |
|
|
|
|
protocol](https://cgit.freedesktop.org/wayland/wayland-protocols/tree/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml) |
|
|
|
|
to prohibit the screensaver from starting. This protocol is part of |
|
|
|
|
wayland-protocols 1.6, and mandatory at build time. If the running compositor |
|
|
|
|
does not support this protocol, the screensaver may start even for full screen |
|
|
|
|
windows. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@section compat_glx GLX extensions |
|
|
|
|
|
|
|
|
|
The GLX API is the default API used to create OpenGL contexts on Unix-like |
|
|
|
|