sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit 7623292734d6ba48bbfef1c32da28d02118dac38
parent 717e9ef581024d327fd6c21afce20ba216339b72
Author: Simon Ser <contact@emersion.fr>
Date:   Thu,  3 Nov 2022 18:39:14 +0100

Update for wlroots!3814

References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3814

Diffstat:
Minclude/sway/server.h | 1+
Msway/input/keyboard.c | 10+++-------
Msway/server.c | 2+-
3 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/include/sway/server.h b/include/sway/server.h @@ -34,6 +34,7 @@ struct sway_server { const char *socket; struct wlr_backend *backend; + struct wlr_session *session; // secondary headless backend used for creating virtual outputs on-the-fly struct wlr_backend *headless_backend; struct wlr_renderer *renderer; diff --git a/sway/input/keyboard.c b/sway/input/keyboard.c @@ -264,13 +264,9 @@ static bool keyboard_execute_compositor_binding(struct sway_keyboard *keyboard, xkb_keysym_t keysym = pressed_keysyms[i]; if (keysym >= XKB_KEY_XF86Switch_VT_1 && keysym <= XKB_KEY_XF86Switch_VT_12) { - if (wlr_backend_is_multi(server.backend)) { - struct wlr_session *session = - wlr_backend_get_session(server.backend); - if (session) { - unsigned vt = keysym - XKB_KEY_XF86Switch_VT_1 + 1; - wlr_session_change_vt(session, vt); - } + if (server.session) { + unsigned vt = keysym - XKB_KEY_XF86Switch_VT_1 + 1; + wlr_session_change_vt(server.session, vt); } return true; } diff --git a/sway/server.c b/sway/server.c @@ -69,8 +69,8 @@ bool server_init(struct sway_server *server) { sway_log(SWAY_DEBUG, "Initializing Wayland server"); server->wl_display = wl_display_create(); server->wl_event_loop = wl_display_get_event_loop(server->wl_display); - server->backend = wlr_backend_autocreate(server->wl_display); + server->backend = wlr_backend_autocreate(server->wl_display, &server->session); if (!server->backend) { sway_log(SWAY_ERROR, "Unable to create backend"); return false;