aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/wlr/types/wlr_xdg_shell_v6.h53
1 files changed, 52 insertions, 1 deletions
diff --git a/include/wlr/types/wlr_xdg_shell_v6.h b/include/wlr/types/wlr_xdg_shell_v6.h
index 6e2f43c4..e13af137 100644
--- a/include/wlr/types/wlr_xdg_shell_v6.h
+++ b/include/wlr/types/wlr_xdg_shell_v6.h
@@ -23,6 +23,9 @@ struct wlr_xdg_toplevel_v6_state {
bool resizing;
bool activated;
+ uint32_t width;
+ uint32_t height;
+
uint32_t max_width;
uint32_t max_height;
@@ -31,17 +34,31 @@ struct wlr_xdg_toplevel_v6_state {
};
struct wlr_xdg_toplevel_v6 {
- struct wlr_xdg_toplevel_v6_state next;
+ struct wl_resource *resource;
+ struct wlr_xdg_surface_v6 *base;
+ struct wlr_xdg_toplevel_v6_state next; // client protocol requests
+ struct wlr_xdg_toplevel_v6_state pending; // user configure requests
struct wlr_xdg_toplevel_v6_state current;
};
+// TODO split up into toplevel and popup configure
+struct wlr_xdg_surface_v6_configure {
+ struct wl_list link; // wlr_xdg_surface_v6::configure_list
+ uint32_t serial;
+ struct wlr_xdg_toplevel_v6_state *state;
+};
+
struct wlr_xdg_surface_v6 {
+ struct wl_client *client;
struct wl_resource *resource;
struct wlr_surface *surface;
struct wl_list link;
enum wlr_xdg_surface_v6_role role;
struct wlr_xdg_toplevel_v6 *toplevel_state;
+ struct wl_event_source *configure_idle;
+ struct wl_list configure_list;
+
char *title;
char *app_id;
@@ -64,4 +81,38 @@ struct wlr_xdg_surface_v6 {
struct wlr_xdg_shell_v6 *wlr_xdg_shell_v6_create(struct wl_display *display);
void wlr_xdg_shell_v6_destroy(struct wlr_xdg_shell_v6 *xdg_shell);
+/**
+ * Request that this toplevel surface be the given size.
+ */
+void wlr_xdg_toplevel_v6_set_size(struct wlr_xdg_surface_v6 *surface,
+ uint32_t width, uint32_t height);
+
+/**
+ * Request that this toplevel surface show itself in an activated or deactivated
+ * state.
+ */
+void wlr_xdg_toplevel_v6_set_activated(struct wlr_xdg_surface_v6 *surface,
+ bool activated);
+
+/**
+ * Request that this toplevel surface consider itself maximized or not
+ * maximized.
+ */
+void wlr_xdg_toplevel_v6_set_maximized(struct wlr_xdg_surface_v6 *surface,
+ bool maximized);
+
+/**
+ * Request that this toplevel surface consider itself fullscreen or not
+ * fullscreen.
+ */
+void wlr_xdg_toplevel_v6_set_fullscreen(struct wlr_xdg_surface_v6 *surface,
+ bool fullscreen);
+
+/**
+ * Request that this toplevel surface consider itself to be resizing or not
+ * resizing.
+ */
+void wlr_xdg_toplevel_v6_set_resizing(struct wlr_xdg_surface_v6 *surface,
+ bool resizing);
+
#endif