mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-11-02 09:01:38 -05:00
Fix rootston keyboard, add Xwayland
This commit is contained in:
parent
7cf4ee128e
commit
906a816abf
15 changed files with 91 additions and 42 deletions
|
|
@ -34,11 +34,13 @@ struct roots_desktop {
|
|||
struct wlr_compositor *compositor;
|
||||
struct wlr_wl_shell *wl_shell;
|
||||
struct wlr_xdg_shell_v6 *xdg_shell_v6;
|
||||
struct wlr_xwayland *xwayland;
|
||||
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 wl_listener xwayland_surface;
|
||||
struct wl_listener wl_shell_surface;
|
||||
};
|
||||
|
||||
|
|
@ -57,5 +59,6 @@ void output_remove_notify(struct wl_listener *listener, void *data);
|
|||
|
||||
void handle_xdg_shell_v6_surface(struct wl_listener *listener, void *data);
|
||||
void handle_wl_shell_surface(struct wl_listener *listener, void *data);
|
||||
void handle_xwayland_surface(struct wl_listener *listener, void *data);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -15,11 +15,6 @@ struct roots_keyboard {
|
|||
struct wlr_input_device *device;
|
||||
struct wl_listener key;
|
||||
struct wl_list link;
|
||||
struct xkb_keymap *keymap;
|
||||
struct xkb_state *xkb_state;
|
||||
xkb_led_index_t leds[WLR_LED_LAST];
|
||||
int keymap_fd;
|
||||
size_t keymap_size;
|
||||
};
|
||||
|
||||
struct roots_pointer {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@ struct roots_server {
|
|||
/* WLR tools */
|
||||
struct wlr_backend *backend;
|
||||
struct wlr_renderer *renderer;
|
||||
struct wlr_xwayland *xwayland;
|
||||
|
||||
/* Global resources */
|
||||
struct wlr_data_device_manager *data_device_manager;
|
||||
|
|
|
|||
|
|
@ -27,6 +27,12 @@ struct roots_xdg_surface_v6 {
|
|||
struct wl_listener request_show_window_menu;
|
||||
};
|
||||
|
||||
struct roots_x11_surface {
|
||||
struct roots_view *view;
|
||||
// TODO: Maybe destroy listener should go in roots_view
|
||||
struct wl_listener destroy;
|
||||
};
|
||||
|
||||
enum roots_view_type {
|
||||
ROOTS_WL_SHELL_VIEW,
|
||||
ROOTS_XDG_SHELL_V6_VIEW,
|
||||
|
|
@ -42,10 +48,12 @@ struct roots_view {
|
|||
union {
|
||||
struct wlr_wl_shell_surface *wl_shell_surface;
|
||||
struct wlr_xdg_surface_v6 *xdg_surface_v6;
|
||||
struct wlr_x11_window *x11_window;
|
||||
};
|
||||
union {
|
||||
struct roots_wl_shell_surface *roots_wl_shell_surface;
|
||||
struct roots_xdg_surface_v6 *roots_xdg_surface_v6;
|
||||
struct roots_x11_surface *roots_x11_surface;
|
||||
};
|
||||
struct wlr_surface *wlr_surface;
|
||||
struct wl_list link;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue