From bcd8f9aff2d16e8eb96725eb5d8fd6a96b9f9881 Mon Sep 17 00:00:00 2001 From: Emmanuel Gil Peyrot Date: Fri, 15 Feb 2019 19:02:32 +0100 Subject: [PATCH] Documentation work Describe #1341. --- docs/compat.dox | 15 ++++++++++----- include/GLFW/glfw3.h | 12 +++++++----- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/docs/compat.dox b/docs/compat.dox index 98e045cb..615264b4 100644 --- a/docs/compat.dox +++ b/docs/compat.dox @@ -126,13 +126,18 @@ 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. -GLFW uses the [viewporter +GLFW uses the [xdg-decoration +protocol](https://cgit.freedesktop.org/wayland/wayland-protocols/tree/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml) +to request decorations to be drawn around its windows. This protocol is part +of wayland-protocols 1.15, and mandatory at build time. If the running +compositor does not support this protocol, a very simple frame will be drawn by +GLFW itself, using the [viewporter protocol](https://cgit.freedesktop.org/wayland/wayland-protocols/tree/stable/viewporter/viewporter.xml) alongside -[subsurfaces](https://cgit.freedesktop.org/wayland/wayland/tree/protocol/wayland.xml#n2598) -to draw decorations around windows. This protocol is part of wayland-protocols -1.4, and mandatory at build time. If the running compositor does not support -this protocol, no decorations will be drawn around windows. +[subsurfaces](https://cgit.freedesktop.org/wayland/wayland/tree/protocol/wayland.xml#n2598). +This protocol is part of wayland-protocols 1.4, and mandatory at build time. +If the running compositor does not support this protocol either, no decorations +will be drawn around windows. @section compat_glx GLX extensions diff --git a/include/GLFW/glfw3.h b/include/GLFW/glfw3.h index 35a781c9..efd38339 100644 --- a/include/GLFW/glfw3.h +++ b/include/GLFW/glfw3.h @@ -2478,11 +2478,13 @@ GLFWAPI void glfwWindowHintString(int hint, const char* value); * GLFW_X11_CLASS_NAME and @ref GLFW_X11_INSTANCE_NAME window hints to override * this. * - * @remark @wayland The window frame is currently very simple, only allowing - * window resize or move. A compositor can still emit close, maximize or - * fullscreen events, using for example a keybind mechanism. Additionally, - * the wp_viewporter protocol is required for this feature, otherwise the - * window will not be decorated. + * @remark @wayland Compositors should implement the xdg-decoration protocol + * for GLFW to decorate the window properly. If this protocol isn't + * supported, or if the compositor prefers client-side decorations, a very + * simple fallback frame will be drawn using the wp_viewporter protocol. A + * compositor can still emit close, maximize or fullscreen events, using for + * instance a keybind mechanism. If neither of these protocols is supported, + * the window won't be decorated. * * @remark @wayland A full screen window will not attempt to change the mode, * no matter what the requested size or refresh rate.