aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2022-11-03 18:39:14 +0100
committerSimon Ser <contact@emersion.fr>2022-11-15 22:26:43 +0100
commit7623292734d6ba48bbfef1c32da28d02118dac38 (patch)
treed19927d826274e53271613758380aae620ba5dfc
parent717e9ef581024d327fd6c21afce20ba216339b72 (diff)
Update for wlroots!3814
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3814
-rw-r--r--include/sway/server.h1
-rw-r--r--sway/input/keyboard.c10
-rw-r--r--sway/server.c2
3 files changed, 5 insertions, 8 deletions
diff --git a/include/sway/server.h b/include/sway/server.h
index 2d796d04..11f6b882 100644
--- 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
index 5e5692f1..0b90b6af 100644
--- 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
index ef7d4c4b..042f20be 100644
--- 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;