aboutsummaryrefslogtreecommitdiff
path: root/include/wlr
diff options
context:
space:
mode:
authorTony Crisci <tony@dubstepdish.com>2017-09-11 18:06:19 -0400
committerTony Crisci <tony@dubstepdish.com>2017-09-13 07:57:14 -0400
commitb2c71287f29cec22217177d11e8692e73b805b66 (patch)
tree4649f99e1fae69afd06c721172ad8bfb6cbf70ac /include/wlr
parentc5f8f81e58feb13aeadb4f27ee3e4e2a1eb2b8a8 (diff)
set toplevel role on wlr_surface
Diffstat (limited to 'include/wlr')
-rw-r--r--include/wlr/types/wlr_surface.h8
-rw-r--r--include/wlr/types/wlr_xdg_shell_v6.h7
2 files changed, 15 insertions, 0 deletions
diff --git a/include/wlr/types/wlr_surface.h b/include/wlr/types/wlr_surface.h
index 0a802ea3..d76fff16 100644
--- a/include/wlr/types/wlr_surface.h
+++ b/include/wlr/types/wlr_surface.h
@@ -70,4 +70,12 @@ void wlr_surface_get_matrix(struct wlr_surface *surface,
const float (*projection)[16],
const float (*transform)[16]);
+
+/**
+ * Set the lifetime role for this surface. Returns 0 on success or -1 if the
+ * role cannot be set.
+ */
+int wlr_surface_set_role(struct wlr_surface *surface, const char *role,
+ struct wl_resource *error_resource, uint32_t error_code);
+
#endif
diff --git a/include/wlr/types/wlr_xdg_shell_v6.h b/include/wlr/types/wlr_xdg_shell_v6.h
index 500dae87..6bc37940 100644
--- a/include/wlr/types/wlr_xdg_shell_v6.h
+++ b/include/wlr/types/wlr_xdg_shell_v6.h
@@ -10,10 +10,17 @@ struct wlr_xdg_shell_v6 {
void *data;
};
+enum wlr_xdg_surface_v6_role {
+ WLR_XDG_SURFACE_V6_ROLE_NONE,
+ WLR_XDG_SURFACE_V6_ROLE_TOPLEVEL,
+ WLR_XDG_SURFACE_V6_ROLE_POPUP,
+};
+
struct wlr_xdg_surface_v6 {
struct wl_resource *resource;
struct wl_resource *surface;
struct wl_list link;
+ enum wlr_xdg_surface_v6_role role;
struct wl_listener surface_destroy_listener;