From c015db4a9f115bfa10bd0b4c3fa05aca51b04c9b Mon Sep 17 00:00:00 2001 From: Alex Maese Date: Thu, 9 Jun 2022 18:27:24 -0500 Subject: sway: Add non-desktop-output type Currently, when encountering a non-desktop display, sway offers the output for leasing and returns without storing it in a sway specific output type like `struct sway_output`. Additionally, running `swaymsg -t get_outputs` doesn't show non-desktop outputs. This commit stores the non-desktop outputs into a struct called `sway_output_non_desktop`, and adds them to a list on `sway_root` --- include/sway/output.h | 8 ++++++++ include/sway/tree/root.h | 1 + 2 files changed, 9 insertions(+) (limited to 'include') diff --git a/include/sway/output.h b/include/sway/output.h index 6d8319bf..d72bf1b2 100644 --- a/include/sway/output.h +++ b/include/sway/output.h @@ -57,6 +57,12 @@ struct sway_output { struct wl_event_source *repaint_timer; }; +struct sway_output_non_desktop { + struct wlr_output *wlr_output; + + struct wl_listener destroy; +}; + struct sway_output *output_create(struct wlr_output *wlr_output); void output_destroy(struct sway_output *output); @@ -177,4 +183,6 @@ void handle_output_manager_test(struct wl_listener *listener, void *data); void handle_output_power_manager_set_mode(struct wl_listener *listener, void *data); +struct sway_output_non_desktop *output_non_desktop_create(struct wlr_output *wlr_output); + #endif diff --git a/include/sway/tree/root.h b/include/sway/tree/root.h index 5d4a2f2d..af4124a1 100644 --- a/include/sway/tree/root.h +++ b/include/sway/tree/root.h @@ -28,6 +28,7 @@ struct sway_root { double width, height; list_t *outputs; // struct sway_output + list_t *non_desktop_outputs; // struct sway_output_non_desktop list_t *scratchpad; // struct sway_container // For when there's no connected outputs -- cgit v1.2.3-54-g00ecf