aboutsummaryrefslogtreecommitdiff
path: root/include/wlr
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2017-09-27 21:15:31 +0200
committeremersion <contact@emersion.fr>2017-09-27 21:15:31 +0200
commit663bfe4cd8a8c2c9f0de285c8112b108e9a61bae (patch)
tree858810cd3530681753ee4d0dd57b3a50cfea96a6 /include/wlr
parente001e400221115b0fe41fb48df48e85a2ec4f6ba (diff)
downloadwlroots-663bfe4cd8a8c2c9f0de285c8112b108e9a61bae.tar.xz
wlr_wl_shell: implement all requests except set_popup
Diffstat (limited to 'include/wlr')
-rw-r--r--include/wlr/types/wlr_wl_shell.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/include/wlr/types/wlr_wl_shell.h b/include/wlr/types/wlr_wl_shell.h
index d5b8a982..612e5811 100644
--- a/include/wlr/types/wlr_wl_shell.h
+++ b/include/wlr/types/wlr_wl_shell.h
@@ -16,6 +16,13 @@ struct wlr_wl_shell {
void *data;
};
+struct wlr_wl_shell_surface_transient_state {
+ struct wlr_wl_shell_surface *parent;
+ int32_t x;
+ int32_t y;
+ uint32_t flags;
+};
+
struct wlr_wl_shell_surface {
struct wlr_wl_shell *shell;
struct wl_client *client;
@@ -26,13 +33,58 @@ struct wlr_wl_shell_surface {
uint32_t ping_serial;
struct wl_event_source *ping_timer;
+ bool toplevel;
+ struct wlr_wl_shell_surface_transient_state *transient_state;
+ char *title;
+ char *class_;
+
struct {
+ struct wl_signal destroy;
struct wl_signal ping_timeout;
+
+ struct wl_signal request_move;
+ struct wl_signal request_resize;
+ struct wl_signal request_set_fullscreen;
+ struct wl_signal request_set_popup;
+ struct wl_signal request_set_maximized;
+ struct wl_signal set_toplevel;
+ struct wl_signal set_transient;
+ struct wl_signal set_title;
+ struct wl_signal set_class;
} events;
void *data;
};
+struct wlr_wl_shell_surface_move_event {
+ struct wl_client *client;
+ struct wlr_wl_shell_surface *surface;
+ struct wlr_seat_handle *seat_handle;
+ uint32_t serial;
+};
+
+struct wlr_wl_shell_surface_resize_event {
+ struct wl_client *client;
+ struct wlr_wl_shell_surface *surface;
+ struct wlr_seat_handle *seat_handle;
+ uint32_t serial;
+ uint32_t edges;
+};
+
+struct wlr_wl_shell_surface_set_fullscreen_event {
+ struct wl_client *client;
+ struct wlr_wl_shell_surface *surface;
+ uint32_t method;
+ uint32_t framerate;
+ struct wlr_output *output;
+};
+
+struct wlr_wl_shell_surface_set_maximized_event {
+ struct wl_client *client;
+ struct wlr_wl_shell_surface *surface;
+ struct wlr_output *output;
+};
+
struct wlr_wl_shell *wlr_wl_shell_create(struct wl_display *display);
void wlr_wl_shell_destroy(struct wlr_wl_shell *wlr_wl_shell);