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.h27
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