diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/rootston/desktop.h | 5 | ||||
-rw-r--r-- | include/rootston/layers.h | 19 | ||||
-rw-r--r-- | include/rootston/view.h | 1 |
3 files changed, 24 insertions, 1 deletions
diff --git a/include/rootston/desktop.h b/include/rootston/desktop.h index 5ff9f5e2..ad7654a1 100644 --- a/include/rootston/desktop.h +++ b/include/rootston/desktop.h @@ -7,6 +7,7 @@ #include <wlr/types/wlr_compositor.h> #include <wlr/types/wlr_gamma_control.h> #include <wlr/types/wlr_idle.h> +#include <wlr/types/wlr_layer_shell.h> #include <wlr/types/wlr_linux_dmabuf.h> #include <wlr/types/wlr_list.h> #include <wlr/types/wlr_output_layout.h> @@ -28,6 +29,8 @@ struct roots_desktop { struct wl_list views; // roots_view::link + struct wl_list layers[4]; // layer_surface::link + struct wl_list outputs; // roots_output::link struct timespec last_frame; @@ -55,6 +58,7 @@ struct roots_desktop { struct wl_listener xdg_shell_v6_surface; struct wl_listener xdg_shell_surface; struct wl_listener wl_shell_surface; + struct wl_listener layer_shell_surface; struct wl_listener decoration_new; #ifdef WLR_HAS_XWAYLAND @@ -88,6 +92,7 @@ void view_unmap(struct roots_view *view); void handle_xdg_shell_v6_surface(struct wl_listener *listener, void *data); void handle_xdg_shell_surface(struct wl_listener *listener, void *data); void handle_wl_shell_surface(struct wl_listener *listener, void *data); +void handle_layer_shell_surface(struct wl_listener *listener, void *data); void handle_xwayland_surface(struct wl_listener *listener, void *data); #endif diff --git a/include/rootston/layers.h b/include/rootston/layers.h new file mode 100644 index 00000000..269056ea --- /dev/null +++ b/include/rootston/layers.h @@ -0,0 +1,19 @@ +#ifndef ROOTSTON_LAYERS_H +#define ROOTSTON_LAYERS_H +#include <stdbool.h> +#include <wlr/config.h> +#include <wlr/types/wlr_box.h> +#include <wlr/types/wlr_surface.h> +#include <wlr/types/wlr_layer_shell.h> + +struct roots_layer_surface { + struct wlr_layer_surface *layer_surface; + struct wl_list link; + + struct wl_listener destroy; + struct wl_listener map; + struct wl_listener unmap; + struct wl_listener surface_commit; +}; + +#endif diff --git a/include/rootston/view.h b/include/rootston/view.h index 1397a8d2..6e746e8c 100644 --- a/include/rootston/view.h +++ b/include/rootston/view.h @@ -1,6 +1,5 @@ #ifndef ROOTSTON_VIEW_H #define ROOTSTON_VIEW_H - #include <stdbool.h> #include <wlr/config.h> #include <wlr/types/wlr_box.h> |