aboutsummaryrefslogtreecommitdiff
path: root/include/rootston/desktop.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/rootston/desktop.h')
-rw-r--r--include/rootston/desktop.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/include/rootston/desktop.h b/include/rootston/desktop.h
index 5986c96f..c1dcad56 100644
--- a/include/rootston/desktop.h
+++ b/include/rootston/desktop.h
@@ -1,12 +1,12 @@
#ifndef ROOTSTON_DESKTOP_H
#define ROOTSTON_DESKTOP_H
-
#include <time.h>
#include <wayland-server.h>
#include <wlr/config.h>
#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>
@@ -48,12 +48,14 @@ 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;
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
@@ -70,8 +72,10 @@ struct roots_desktop *desktop_create(struct roots_server *server,
void desktop_destroy(struct roots_desktop *desktop);
struct roots_output *desktop_output_from_wlr_output(
struct roots_desktop *desktop, struct wlr_output *output);
-struct roots_view *desktop_view_at(struct roots_desktop *desktop, double lx,
- double ly, struct wlr_surface **surface, double *sx, double *sy);
+
+struct wlr_surface *desktop_surface_at(struct roots_desktop *desktop,
+ double lx, double ly, double *sx, double *sy,
+ struct roots_view **view);
struct roots_view *view_create(struct roots_desktop *desktop);
void view_destroy(struct roots_view *view);
@@ -83,10 +87,12 @@ void view_update_size(struct roots_view *view, uint32_t width, uint32_t height);
void view_initial_focus(struct roots_view *view);
void view_map(struct roots_view *view, struct wlr_surface *surface);
void view_unmap(struct roots_view *view);
+void view_arrange_maximized(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