diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/rootston/config.h | 4 | ||||
-rw-r--r-- | include/rootston/desktop.h | 1 | ||||
-rw-r--r-- | include/rootston/input.h | 2 | ||||
-rw-r--r-- | include/wlr/xwayland.h | 39 |
4 files changed, 45 insertions, 1 deletions
diff --git a/include/rootston/config.h b/include/rootston/config.h index ece11829..545b6742 100644 --- a/include/rootston/config.h +++ b/include/rootston/config.h @@ -33,6 +33,10 @@ struct roots_config { struct wlr_box *mapped_box; } cursor; + struct { + uint32_t meta_key; + } keyboard; + struct wl_list outputs; struct wl_list devices; struct wl_list bindings; diff --git a/include/rootston/desktop.h b/include/rootston/desktop.h index 91ac87b7..0d641848 100644 --- a/include/rootston/desktop.h +++ b/include/rootston/desktop.h @@ -16,7 +16,6 @@ struct roots_output { struct roots_desktop *desktop; struct wlr_output *wlr_output; struct wl_listener frame; - struct wl_listener resolution; struct timespec last_frame; struct wl_list link; }; diff --git a/include/rootston/input.h b/include/rootston/input.h index 6161eb7a..ae3e3b80 100644 --- a/include/rootston/input.h +++ b/include/rootston/input.h @@ -76,6 +76,7 @@ struct roots_input { // TODO: multiseat, multicursor struct wlr_cursor *cursor; + struct wlr_xcursor_theme *theme; struct wlr_xcursor *xcursor; struct wlr_seat *wl_seat; @@ -83,6 +84,7 @@ struct roots_input { struct roots_view *active_view; int offs_x, offs_y; int view_x, view_y, view_width, view_height; + float view_rotation; uint32_t resize_edges; // Ring buffer of input events that could trigger move/resize/rotate diff --git a/include/wlr/xwayland.h b/include/wlr/xwayland.h index 3525ff3b..09f9fbac 100644 --- a/include/wlr/xwayland.h +++ b/include/wlr/xwayland.h @@ -6,6 +6,10 @@ #include <wlr/types/wlr_compositor.h> #include <xcb/xcb.h> +#ifdef HAS_XCB_ICCCM + #include <xcb/xcb_icccm.h> +#endif + struct wlr_xwm; struct wlr_xwayland { @@ -29,6 +33,36 @@ struct wlr_xwayland { void *data; }; +enum wlr_xwayland_surface_decorations { + WLR_XWAYLAND_SURFACE_DECORATIONS_ALL = 0, + WLR_XWAYLAND_SURFACE_DECORATIONS_NO_BORDER = 1, + WLR_XWAYLAND_SURFACE_DECORATIONS_NO_TITLE = 2, +}; + +struct wlr_xwayland_surface_hints { + uint32_t flags; + uint32_t input; + int32_t initial_state; + xcb_pixmap_t icon_pixmap; + xcb_window_t icon_window; + int32_t icon_x, icon_y; + xcb_pixmap_t icon_mask; + xcb_window_t window_group; +}; + +struct wlr_xwayland_surface_size_hints { + uint32_t flags; + int32_t x, y; + int32_t width, height; + int32_t min_width, min_height; + int32_t max_width, max_height; + int32_t width_inc, height_inc; + int32_t base_width, base_height; + int32_t min_aspect_num, min_aspect_den; + int32_t max_aspect_num, max_aspect_den; + uint32_t win_gravity; +}; + struct wlr_xwayland_surface { xcb_window_t window_id; uint32_t surface_id; @@ -53,6 +87,11 @@ struct wlr_xwayland_surface { xcb_atom_t *protocols; size_t protocols_len; + uint32_t decorations; + struct wlr_xwayland_surface_hints *hints; + uint32_t hints_urgency; + struct wlr_xwayland_surface_size_hints *size_hints; + struct { struct wl_signal destroy; |