diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/rootston/desktop.h | 1 | ||||
-rw-r--r-- | include/wlr/types/wlr_layer_shell.h | 29 |
2 files changed, 30 insertions, 0 deletions
diff --git a/include/rootston/desktop.h b/include/rootston/desktop.h index 5986c96f..5ff9f5e2 100644 --- a/include/rootston/desktop.h +++ b/include/rootston/desktop.h @@ -48,6 +48,7 @@ struct roots_desktop { struct wlr_idle *idle; struct wlr_idle_inhibit_manager_v1 *idle_inhibit; struct wlr_linux_dmabuf *linux_dmabuf; + struct wlr_layer_shell *layer_shell; struct wl_listener new_output; struct wl_listener layout_change; diff --git a/include/wlr/types/wlr_layer_shell.h b/include/wlr/types/wlr_layer_shell.h new file mode 100644 index 00000000..fbea1334 --- /dev/null +++ b/include/wlr/types/wlr_layer_shell.h @@ -0,0 +1,29 @@ +#ifndef WLR_TYPES_WLR_LAYER_SHELL_H +#define WLR_TYPES_WLR_LAYER_SHELL_H + +struct wlr_layer_shell { + struct wl_global *wl_global; + struct wl_list clients; + + struct wl_listener display_destroy; + + struct { + struct wl_signal new_surface; + } events; + + void *data; +}; + +struct wlr_layer_client { + struct wlr_layer_shell *shell; + struct wl_resource *resource; + struct wl_client *client; + struct wl_list surfaces; + + struct wl_list link; // wlr_layer_shell::clients +}; + +struct wlr_layer_shell *wlr_layer_shell_create(struct wl_display *display); +void wlr_layer_shell_destroy(struct wlr_layer_shell *layer_shell); + +#endif |