Created
April 3, 2018 19:53
Revisions
-
ddevault created this gist
Apr 3, 2018 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,52 @@ diff --git a/sway/commands/reload.c b/sway/commands/reload.c index 5bca6cd..a3714d0 100644 --- a/sway/commands/reload.c +++ b/sway/commands/reload.c @@ -2,6 +2,31 @@ #include "sway/config.h" #include "sway/tree/layout.h" +#include <wlr/backend/x11.h> +#include "sway/server.h" + +struct wlr_multi_backend { + struct wlr_backend backend; + + struct wl_list backends; + + struct wl_listener display_destroy; + + struct { + struct wl_signal backend_add; + struct wl_signal backend_remove; + } events; +}; + +struct subbackend_state { + struct wlr_backend *backend; + struct wlr_backend *container; + struct wl_listener new_input; + struct wl_listener new_output; + struct wl_listener destroy; + struct wl_list link; +}; + struct cmd_results *cmd_reload(int argc, char **argv) { struct cmd_results *error = NULL; if ((error = checkarg(argc, "reload", EXPECTED_EQUAL_TO, 0))) { @@ -13,5 +38,15 @@ struct cmd_results *cmd_reload(int argc, char **argv) { load_swaybars(); arrange_windows(&root_container, -1, -1); + + struct wlr_multi_backend *backend = + (struct wlr_multi_backend *)server.backend; + struct subbackend_state *subbackend; + wl_list_for_each(subbackend, &backend->backends, link) { + if (wlr_backend_is_x11(subbackend->backend)) { + wlr_x11_output_create(subbackend->backend); + } + } + return cmd_results_new(CMD_SUCCESS, NULL, NULL); }