diff options
author | emersion <contact@emersion.fr> | 2018-05-08 23:04:26 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-08 23:04:26 +0100 |
commit | 8e831cd416e2eb0c47bbd097422822a0c8888459 (patch) | |
tree | d4e8efe946a18a6940ecfb7471a7fa203a5f6124 /include | |
parent | c5c5747060312817c025eab5cdcec8508232dde1 (diff) | |
parent | 6936be984fbeca83feae96d92bc8fd1d2b0ec4af (diff) |
Merge pull request #959 from VincentVanlaer/xwayland-lazy
Add the option to start Xwayland only when a client connects
Diffstat (limited to 'include')
-rw-r--r-- | include/rootston/config.h | 1 | ||||
-rw-r--r-- | include/rootston/desktop.h | 1 | ||||
-rw-r--r-- | include/wlr/xwayland.h | 22 |
3 files changed, 15 insertions, 9 deletions
diff --git a/include/rootston/config.h b/include/rootston/config.h index 0a67ac1e..97a8baab 100644 --- a/include/rootston/config.h +++ b/include/rootston/config.h @@ -60,6 +60,7 @@ struct roots_cursor_config { struct roots_config { bool xwayland; + bool xwayland_lazy; struct wl_list outputs; struct wl_list devices; diff --git a/include/rootston/desktop.h b/include/rootston/desktop.h index f150147b..83ff2ea8 100644 --- a/include/rootston/desktop.h +++ b/include/rootston/desktop.h @@ -65,7 +65,6 @@ struct roots_desktop { #ifdef WLR_HAS_XWAYLAND struct wlr_xwayland *xwayland; struct wl_listener xwayland_surface; - struct wl_listener xwayland_ready; #endif }; diff --git a/include/wlr/xwayland.h b/include/wlr/xwayland.h index 53c777d7..3507e547 100644 --- a/include/wlr/xwayland.h +++ b/include/wlr/xwayland.h @@ -13,20 +13,26 @@ struct wlr_xwayland_cursor; struct wlr_xwayland { pid_t pid; - int display; - int x_fd[2], wl_fd[2], wm_fd[2]; struct wl_client *client; - struct wl_display *wl_display; - struct wlr_compositor *compositor; - time_t server_start; - struct wl_event_source *sigusr1_source; struct wl_listener client_destroy; struct wl_listener display_destroy; struct wlr_xwm *xwm; struct wlr_xwayland_cursor *cursor; + int wm_fd[2], wl_fd[2]; + + time_t server_start; - /* Anything above seat is reset on Xwayland restart, rest is conserved */ + /* Anything above display is reset on Xwayland restart, rest is conserved */ + + int display; + int x_fd[2]; + struct wl_event_source *x_fd_read_event[2]; + + bool lazy; + + struct wl_display *wl_display; + struct wlr_compositor *compositor; struct wlr_seat *seat; struct wl_listener seat_destroy; @@ -169,7 +175,7 @@ struct wlr_xwayland_resize_event { }; struct wlr_xwayland *wlr_xwayland_create(struct wl_display *wl_display, - struct wlr_compositor *compositor); + struct wlr_compositor *compositor, bool lazy); void wlr_xwayland_destroy(struct wlr_xwayland *wlr_xwayland); |