aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2018-04-13 08:30:22 -0400
committerGitHub <noreply@github.com>2018-04-13 08:30:22 -0400
commit65903d26775789608bb336ecde03259e94b3a6d7 (patch)
tree1d31b2144bd9fec670fbb79bb10e11fe2f856d0b /include
parent99b92b4104bf7bdd7663289c71f6cf0933e16a0f (diff)
parent8dec7036d0c63585f05b255ae46f8af56456abf8 (diff)
Merge pull request #857 from emersion/shell-always-unmap
Always unmap before destroying surface
Diffstat (limited to 'include')
-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;