diff options
author | Simon Ser <contact@emersion.fr> | 2022-11-03 18:39:14 +0100 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2022-11-15 22:26:43 +0100 |
commit | 7623292734d6ba48bbfef1c32da28d02118dac38 (patch) | |
tree | d19927d826274e53271613758380aae620ba5dfc | |
parent | ipc: add view content type (diff) | |
download | sway-7623292734d6ba48bbfef1c32da28d02118dac38.tar.gz sway-7623292734d6ba48bbfef1c32da28d02118dac38.tar.zst sway-7623292734d6ba48bbfef1c32da28d02118dac38.zip |
Update for wlroots!3814
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3814
-rw-r--r-- | include/sway/server.h | 1 | ||||
-rw-r--r-- | sway/input/keyboard.c | 10 | ||||
-rw-r--r-- | sway/server.c | 2 |
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 { | |||
34 | const char *socket; | 34 | const char *socket; |
35 | 35 | ||
36 | struct wlr_backend *backend; | 36 | struct wlr_backend *backend; |
37 | struct wlr_session *session; | ||
37 | // secondary headless backend used for creating virtual outputs on-the-fly | 38 | // secondary headless backend used for creating virtual outputs on-the-fly |
38 | struct wlr_backend *headless_backend; | 39 | struct wlr_backend *headless_backend; |
39 | struct wlr_renderer *renderer; | 40 | 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, | |||
264 | xkb_keysym_t keysym = pressed_keysyms[i]; | 264 | xkb_keysym_t keysym = pressed_keysyms[i]; |
265 | if (keysym >= XKB_KEY_XF86Switch_VT_1 && | 265 | if (keysym >= XKB_KEY_XF86Switch_VT_1 && |
266 | keysym <= XKB_KEY_XF86Switch_VT_12) { | 266 | keysym <= XKB_KEY_XF86Switch_VT_12) { |
267 | if (wlr_backend_is_multi(server.backend)) { | 267 | if (server.session) { |
268 | struct wlr_session *session = | 268 | unsigned vt = keysym - XKB_KEY_XF86Switch_VT_1 + 1; |
269 | wlr_backend_get_session(server.backend); | 269 | wlr_session_change_vt(server.session, vt); |
270 | if (session) { | ||
271 | unsigned vt = keysym - XKB_KEY_XF86Switch_VT_1 + 1; | ||
272 | wlr_session_change_vt(session, vt); | ||
273 | } | ||
274 | } | 270 | } |
275 | return true; | 271 | return true; |
276 | } | 272 | } |
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) { | |||
69 | sway_log(SWAY_DEBUG, "Initializing Wayland server"); | 69 | sway_log(SWAY_DEBUG, "Initializing Wayland server"); |
70 | server->wl_display = wl_display_create(); | 70 | server->wl_display = wl_display_create(); |
71 | server->wl_event_loop = wl_display_get_event_loop(server->wl_display); | 71 | server->wl_event_loop = wl_display_get_event_loop(server->wl_display); |
72 | server->backend = wlr_backend_autocreate(server->wl_display); | ||
73 | 72 | ||
73 | server->backend = wlr_backend_autocreate(server->wl_display, &server->session); | ||
74 | if (!server->backend) { | 74 | if (!server->backend) { |
75 | sway_log(SWAY_ERROR, "Unable to create backend"); | 75 | sway_log(SWAY_ERROR, "Unable to create backend"); |
76 | return false; | 76 | return false; |