aboutsummaryrefslogtreecommitdiff
path: root/include/rootston
diff options
context:
space:
mode:
Diffstat (limited to 'include/rootston')
-rw-r--r--include/rootston/cursor.h3
-rw-r--r--include/rootston/desktop.h17
-rw-r--r--include/rootston/input.h2
-rw-r--r--include/rootston/view.h13
4 files changed, 27 insertions, 8 deletions
diff --git a/include/rootston/cursor.h b/include/rootston/cursor.h
index f7410dec..2c687a39 100644
--- a/include/rootston/cursor.h
+++ b/include/rootston/cursor.h
@@ -80,4 +80,7 @@ void roots_cursor_handle_tool_tip(struct roots_cursor *cursor,
void roots_cursor_handle_request_set_cursor(struct roots_cursor *cursor,
struct wlr_seat_pointer_request_set_cursor_event *event);
+void roots_cursor_update_position(struct roots_cursor *cursor,
+ uint32_t time);
+
#endif
diff --git a/include/rootston/desktop.h b/include/rootston/desktop.h
index d9add26a..3496fb43 100644
--- a/include/rootston/desktop.h
+++ b/include/rootston/desktop.h
@@ -4,26 +4,24 @@
#include <wayland-server.h>
#include <wlr/config.h>
#include <wlr/types/wlr_compositor.h>
+#include <wlr/types/wlr_gamma_control_v1.h>
#include <wlr/types/wlr_gamma_control.h>
+#include <wlr/types/wlr_idle_inhibit_v1.h>
#include <wlr/types/wlr_idle.h>
#include <wlr/types/wlr_input_inhibitor.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>
#include <wlr/types/wlr_output.h>
#include <wlr/types/wlr_primary_selection.h>
+#include <wlr/types/wlr_screencopy_v1.h>
#include <wlr/types/wlr_screenshooter.h>
#include <wlr/types/wlr_virtual_keyboard_v1.h>
#include <wlr/types/wlr_wl_shell.h>
#include <wlr/types/wlr_xcursor_manager.h>
+#include <wlr/types/wlr_xdg_decoration_v1.h>
#include <wlr/types/wlr_xdg_shell_v6.h>
#include <wlr/types/wlr_xdg_shell.h>
-#include <wlr/types/wlr_list.h>
-#include <wlr/types/wlr_idle.h>
-#include <wlr/types/wlr_idle_inhibit_v1.h>
-#include <wlr/types/wlr_screencopy_v1.h>
-#include "rootston/view.h"
#include "rootston/config.h"
#include "rootston/output.h"
#include "rootston/view.h"
@@ -45,14 +43,15 @@ struct roots_desktop {
struct wlr_xdg_shell_v6 *xdg_shell_v6;
struct wlr_xdg_shell *xdg_shell;
struct wlr_gamma_control_manager *gamma_control_manager;
+ struct wlr_gamma_control_manager_v1 *gamma_control_manager_v1;
struct wlr_screenshooter *screenshooter;
struct wlr_export_dmabuf_manager_v1 *export_dmabuf_manager_v1;
struct wlr_server_decoration_manager *server_decoration_manager;
+ struct wlr_xdg_decoration_manager_v1 *xdg_decoration_manager;
struct wlr_primary_selection_device_manager *primary_selection_device_manager;
struct wlr_idle *idle;
struct wlr_idle_inhibit_manager_v1 *idle_inhibit;
struct wlr_input_inhibit_manager *input_inhibit;
- struct wlr_linux_dmabuf *linux_dmabuf;
struct wlr_layer_shell *layer_shell;
struct wlr_virtual_keyboard_manager_v1 *virtual_keyboard;
struct wlr_screencopy_manager_v1 *screencopy;
@@ -64,7 +63,7 @@ struct roots_desktop {
struct wl_listener xdg_shell_surface;
struct wl_listener wl_shell_surface;
struct wl_listener layer_shell_surface;
- struct wl_listener decoration_new;
+ struct wl_listener xdg_toplevel_decoration;
struct wl_listener input_inhibit_activate;
struct wl_listener input_inhibit_deactivate;
struct wl_listener virtual_keyboard_new;
@@ -94,6 +93,7 @@ void view_apply_damage(struct roots_view *view);
void view_damage_whole(struct roots_view *view);
void view_update_position(struct roots_view *view, double x, double y);
void view_update_size(struct roots_view *view, uint32_t width, uint32_t height);
+void view_update_decorated(struct roots_view *view, bool decorated);
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);
@@ -101,6 +101,7 @@ 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_xdg_toplevel_decoration(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);
diff --git a/include/rootston/input.h b/include/rootston/input.h
index ef46fab2..2cdb13e6 100644
--- a/include/rootston/input.h
+++ b/include/rootston/input.h
@@ -32,4 +32,6 @@ struct roots_seat *input_get_seat(struct roots_input *input, char *name);
struct roots_seat *input_last_active_seat(struct roots_input *input);
+void input_update_cursor_focus(struct roots_input *input);
+
#endif
diff --git a/include/rootston/view.h b/include/rootston/view.h
index 4e3859d5..14448fc6 100644
--- a/include/rootston/view.h
+++ b/include/rootston/view.h
@@ -4,6 +4,7 @@
#include <wlr/config.h>
#include <wlr/types/wlr_box.h>
#include <wlr/types/wlr_surface.h>
+#include <wlr/types/wlr_xdg_decoration_v1.h>
#include <wlr/types/wlr_xdg_shell_v6.h>
#include <wlr/types/wlr_xdg_shell.h>
@@ -38,6 +39,8 @@ struct roots_xdg_surface_v6 {
uint32_t pending_move_resize_configure_serial;
};
+struct roots_xdg_toplevel_decoration;
+
struct roots_xdg_surface {
struct roots_view *view;
@@ -53,6 +56,8 @@ struct roots_xdg_surface {
struct wl_listener surface_commit;
uint32_t pending_move_resize_configure_serial;
+
+ struct roots_xdg_toplevel_decoration *xdg_toplevel_decoration;
};
struct roots_xwayland_surface {
@@ -190,6 +195,14 @@ struct roots_xdg_popup {
struct wl_listener new_popup;
};
+struct roots_xdg_toplevel_decoration {
+ struct wlr_xdg_toplevel_decoration_v1 *wlr_decoration;
+ struct roots_xdg_surface *surface;
+ struct wl_listener destroy;
+ struct wl_listener request_mode;
+ struct wl_listener surface_commit;
+};
+
void view_get_box(const struct roots_view *view, struct wlr_box *box);
void view_activate(struct roots_view *view, bool active);
void view_move(struct roots_view *view, double x, double y);