aboutsummaryrefslogtreecommitdiff
path: root/include/wlr
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-04-11 23:09:13 -0400
committeremersion <contact@emersion.fr>2018-04-11 23:09:13 -0400
commit8dec7036d0c63585f05b255ae46f8af56456abf8 (patch)
tree1ac060308e4e213cb76beaa21b29d75ac1f1b684 /include/wlr
parent7efd9885b65d0115e30f2253a30f165c12a07d2a (diff)
Always unmap before destroying surface
Diffstat (limited to 'include/wlr')
-rw-r--r--include/wlr/types/wlr_xdg_shell.h10
-rw-r--r--include/wlr/types/wlr_xdg_shell_v6.h10
-rw-r--r--include/wlr/xwayland.h12
3 files changed, 30 insertions, 2 deletions
diff --git a/include/wlr/types/wlr_xdg_shell.h b/include/wlr/types/wlr_xdg_shell.h
index faf398a7..5046339a 100644
--- a/include/wlr/types/wlr_xdg_shell.h
+++ b/include/wlr/types/wlr_xdg_shell.h
@@ -102,6 +102,16 @@ struct wlr_xdg_surface_configure {
struct wlr_xdg_toplevel_state *toplevel_state;
};
+/**
+ * An xdg-surface is a user interface element requiring management by the
+ * compositor. An xdg-surface alone isn't useful, a role should be assigned to
+ * it in order to map it.
+ *
+ * When a surface has a role and is ready to be displayed, the `map` event is
+ * emitted. When a surface should no longer be displayed, the `unmap` event is
+ * emitted. The `unmap` event is guaranted to be emitted before the `destroy`
+ * event if the view is destroyed when mapped.
+ */
struct wlr_xdg_surface {
struct wlr_xdg_client *client;
struct wl_resource *resource;
diff --git a/include/wlr/types/wlr_xdg_shell_v6.h b/include/wlr/types/wlr_xdg_shell_v6.h
index 337d96ab..a315c4d9 100644
--- a/include/wlr/types/wlr_xdg_shell_v6.h
+++ b/include/wlr/types/wlr_xdg_shell_v6.h
@@ -90,6 +90,16 @@ struct wlr_xdg_toplevel_v6_state {
uint32_t min_width, min_height;
};
+/**
+ * An xdg-surface is a user interface element requiring management by the
+ * compositor. An xdg-surface alone isn't useful, a role should be assigned to
+ * it in order to map it.
+ *
+ * When a surface has a role and is ready to be displayed, the `map` event is
+ * emitted. When a surface should no longer be displayed, the `unmap` event is
+ * emitted. The `unmap` event is guaranted to be emitted before the `destroy`
+ * event if the view is destroyed when mapped.
+ */
struct wlr_xdg_toplevel_v6 {
struct wl_resource *resource;
struct wlr_xdg_surface_v6 *base;
diff --git a/include/wlr/xwayland.h b/include/wlr/xwayland.h
index 1fad54d1..477dddc4 100644
--- a/include/wlr/xwayland.h
+++ b/include/wlr/xwayland.h
@@ -75,6 +75,15 @@ struct wlr_xwayland_surface_size_hints {
uint32_t win_gravity;
};
+/**
+ * An Xwayland user interface component. It has an absolute position in
+ * layout-local coordinates.
+ *
+ * When a surface is ready to be displayed, the `map` event is emitted. When a
+ * surface should no longer be displayed, the `unmap` event is emitted. The
+ * `unmap` event is guaranted to be emitted before the `destroy` event if the
+ * view is destroyed when mapped.
+ */
struct wlr_xwayland_surface {
xcb_window_t window_id;
struct wlr_xwm *xwm;
@@ -116,8 +125,7 @@ struct wlr_xwayland_surface {
// _NET_WM_STATE
bool fullscreen;
- bool maximized_vert;
- bool maximized_horz;
+ bool maximized_vert, maximized_horz;
bool has_alpha;