aboutsummaryrefslogtreecommitdiff
path: root/wlr-layer-shell-unstable-v1-protocol.h
diff options
context:
space:
mode:
Diffstat (limited to 'wlr-layer-shell-unstable-v1-protocol.h')
-rw-r--r--wlr-layer-shell-unstable-v1-protocol.h177
1 files changed, 177 insertions, 0 deletions
diff --git a/wlr-layer-shell-unstable-v1-protocol.h b/wlr-layer-shell-unstable-v1-protocol.h
new file mode 100644
index 0000000..7bb5c4a
--- /dev/null
+++ b/wlr-layer-shell-unstable-v1-protocol.h
@@ -0,0 +1,177 @@
+/* Generated by wayland-scanner 1.23.1 */
+
+#ifndef WLR_LAYER_SHELL_UNSTABLE_V1_ENUM_PROTOCOL_H
+#define WLR_LAYER_SHELL_UNSTABLE_V1_ENUM_PROTOCOL_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef ZWLR_LAYER_SHELL_V1_ERROR_ENUM
+#define ZWLR_LAYER_SHELL_V1_ERROR_ENUM
+enum zwlr_layer_shell_v1_error {
+ /**
+ * wl_surface has another role
+ */
+ ZWLR_LAYER_SHELL_V1_ERROR_ROLE = 0,
+ /**
+ * layer value is invalid
+ */
+ ZWLR_LAYER_SHELL_V1_ERROR_INVALID_LAYER = 1,
+ /**
+ * wl_surface has a buffer attached or committed
+ */
+ ZWLR_LAYER_SHELL_V1_ERROR_ALREADY_CONSTRUCTED = 2,
+};
+#endif /* ZWLR_LAYER_SHELL_V1_ERROR_ENUM */
+
+#ifndef ZWLR_LAYER_SHELL_V1_LAYER_ENUM
+#define ZWLR_LAYER_SHELL_V1_LAYER_ENUM
+/**
+ * @ingroup iface_zwlr_layer_shell_v1
+ * available layers for surfaces
+ *
+ * These values indicate which layers a surface can be rendered in. They
+ * are ordered by z depth, bottom-most first. Traditional shell surfaces
+ * will typically be rendered between the bottom and top layers.
+ * Fullscreen shell surfaces are typically rendered at the top layer.
+ * Multiple surfaces can share a single layer, and ordering within a
+ * single layer is undefined.
+ */
+enum zwlr_layer_shell_v1_layer {
+ ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND = 0,
+ ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM = 1,
+ ZWLR_LAYER_SHELL_V1_LAYER_TOP = 2,
+ ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY = 3,
+};
+#endif /* ZWLR_LAYER_SHELL_V1_LAYER_ENUM */
+
+#ifndef ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_ENUM
+#define ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_ENUM
+/**
+ * @ingroup iface_zwlr_layer_surface_v1
+ * types of keyboard interaction possible for a layer shell surface
+ *
+ * Types of keyboard interaction possible for layer shell surfaces. The
+ * rationale for this is twofold: (1) some applications are not interested
+ * in keyboard events and not allowing them to be focused can improve the
+ * desktop experience; (2) some applications will want to take exclusive
+ * keyboard focus.
+ */
+enum zwlr_layer_surface_v1_keyboard_interactivity {
+ /**
+ * no keyboard focus is possible
+ *
+ * This value indicates that this surface is not interested in
+ * keyboard events and the compositor should never assign it the
+ * keyboard focus.
+ *
+ * This is the default value, set for newly created layer shell
+ * surfaces.
+ *
+ * This is useful for e.g. desktop widgets that display information
+ * or only have interaction with non-keyboard input devices.
+ */
+ ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_NONE = 0,
+ /**
+ * request exclusive keyboard focus
+ *
+ * Request exclusive keyboard focus if this surface is above the
+ * shell surface layer.
+ *
+ * For the top and overlay layers, the seat will always give
+ * exclusive keyboard focus to the top-most layer which has
+ * keyboard interactivity set to exclusive. If this layer contains
+ * multiple surfaces with keyboard interactivity set to exclusive,
+ * the compositor determines the one receiving keyboard events in
+ * an implementation- defined manner. In this case, no guarantee is
+ * made when this surface will receive keyboard focus (if ever).
+ *
+ * For the bottom and background layers, the compositor is allowed
+ * to use normal focus semantics.
+ *
+ * This setting is mainly intended for applications that need to
+ * ensure they receive all keyboard events, such as a lock screen
+ * or a password prompt.
+ */
+ ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_EXCLUSIVE = 1,
+ /**
+ * request regular keyboard focus semantics
+ *
+ * This requests the compositor to allow this surface to be
+ * focused and unfocused by the user in an implementation-defined
+ * manner. The user should be able to unfocus this surface even
+ * regardless of the layer it is on.
+ *
+ * Typically, the compositor will want to use its normal mechanism
+ * to manage keyboard focus between layer shell surfaces with this
+ * setting and regular toplevels on the desktop layer (e.g. click
+ * to focus). Nevertheless, it is possible for a compositor to
+ * require a special interaction to focus or unfocus layer shell
+ * surfaces (e.g. requiring a click even if focus follows the mouse
+ * normally, or providing a keybinding to switch focus between
+ * layers).
+ *
+ * This setting is mainly intended for desktop shell components
+ * (e.g. panels) that allow keyboard interaction. Using this option
+ * can allow implementing a desktop shell that can be fully usable
+ * without the mouse.
+ * @since 4
+ */
+ ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_ON_DEMAND = 2,
+};
+/**
+ * @ingroup iface_zwlr_layer_surface_v1
+ */
+#define ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_ON_DEMAND_SINCE_VERSION 4
+#endif /* ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_ENUM */
+
+#ifndef ZWLR_LAYER_SURFACE_V1_ERROR_ENUM
+#define ZWLR_LAYER_SURFACE_V1_ERROR_ENUM
+enum zwlr_layer_surface_v1_error {
+ /**
+ * provided surface state is invalid
+ */
+ ZWLR_LAYER_SURFACE_V1_ERROR_INVALID_SURFACE_STATE = 0,
+ /**
+ * size is invalid
+ */
+ ZWLR_LAYER_SURFACE_V1_ERROR_INVALID_SIZE = 1,
+ /**
+ * anchor bitfield is invalid
+ */
+ ZWLR_LAYER_SURFACE_V1_ERROR_INVALID_ANCHOR = 2,
+ /**
+ * keyboard interactivity is invalid
+ */
+ ZWLR_LAYER_SURFACE_V1_ERROR_INVALID_KEYBOARD_INTERACTIVITY = 3,
+};
+#endif /* ZWLR_LAYER_SURFACE_V1_ERROR_ENUM */
+
+#ifndef ZWLR_LAYER_SURFACE_V1_ANCHOR_ENUM
+#define ZWLR_LAYER_SURFACE_V1_ANCHOR_ENUM
+enum zwlr_layer_surface_v1_anchor {
+ /**
+ * the top edge of the anchor rectangle
+ */
+ ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP = 1,
+ /**
+ * the bottom edge of the anchor rectangle
+ */
+ ZWLR_LAYER_SURFACE_V1_ANCHOR_BOTTOM = 2,
+ /**
+ * the left edge of the anchor rectangle
+ */
+ ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT = 4,
+ /**
+ * the right edge of the anchor rectangle
+ */
+ ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT = 8,
+};
+#endif /* ZWLR_LAYER_SURFACE_V1_ANCHOR_ENUM */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif