diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-04-13 08:30:22 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-13 08:30:22 -0400 |
commit | 65903d26775789608bb336ecde03259e94b3a6d7 (patch) | |
tree | 1d31b2144bd9fec670fbb79bb10e11fe2f856d0b /include | |
parent | 99b92b4104bf7bdd7663289c71f6cf0933e16a0f (diff) | |
parent | 8dec7036d0c63585f05b255ae46f8af56456abf8 (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.h | 10 | ||||
-rw-r--r-- | include/wlr/types/wlr_xdg_shell_v6.h | 10 | ||||
-rw-r--r-- | include/wlr/xwayland.h | 12 |
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; |