diff options
Diffstat (limited to 'include/rootston/desktop.h')
-rw-r--r-- | include/rootston/desktop.h | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/include/rootston/desktop.h b/include/rootston/desktop.h index 7881e599..3d31059c 100644 --- a/include/rootston/desktop.h +++ b/include/rootston/desktop.h @@ -7,13 +7,13 @@ #include <wlr/types/wlr_compositor.h> #include <wlr/types/wlr_wl_shell.h> #include <wlr/types/wlr_xdg_shell_v6.h> -#include <wlr/types/wlr_data_device_manager.h> #include <wlr/types/wlr_gamma_control.h> #include "rootston/view.h" +#include "rootston/config.h" struct roots_output { struct roots_desktop *desktop; - struct wlr_output *output; + struct wlr_output *wlr_output; struct wl_listener frame; struct wl_listener resolution; struct timespec last_frame; @@ -22,12 +22,29 @@ struct roots_output { struct roots_desktop { struct wl_list outputs; + struct timespec last_frame; + struct roots_server *server; + struct roots_config *config; + struct wlr_output_layout *layout; - struct wlr_compositor *wlr_compositor; + + struct wlr_compositor *compositor; struct wlr_wl_shell *wl_shell; - struct wlr_xdg_shell_v6 *xdg_shell; - struct wlr_data_device_manager *data_device_manager; + struct wlr_xdg_shell_v6 *xdg_shell_v6; struct wlr_gamma_control_manager *gamma_control_manager; + + struct wl_listener output_add; + struct wl_listener output_remove; + struct wl_listener xdg_shell_v6_surface; }; +struct roots_server; + +struct roots_desktop *desktop_create(struct roots_server *server, + struct roots_config *config); +void desktop_destroy(struct roots_desktop *desktop); + +void output_add_notify(struct wl_listener *listener, void *data); +void output_remove_notify(struct wl_listener *listener, void *data); + #endif |