aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Simon Ser <contact@emersion.fr>2023-07-31 10:09:40 +0200
committerLibravatar Simon Ser <contact@emersion.fr>2023-07-31 16:25:01 +0200
commit170598d71b59b6cae767e20679369ac3250ef2e9 (patch)
treed6b35714dc34679a196d56848ff77a8b18a4d4ce
parentdesktop/output: drop handle_mode() (diff)
downloadsway-170598d71b59b6cae767e20679369ac3250ef2e9.tar.gz
sway-170598d71b59b6cae767e20679369ac3250ef2e9.tar.zst
sway-170598d71b59b6cae767e20679369ac3250ef2e9.zip
desktop/output: fix output manager enabled state
With recent wlroots changes, backends which don't support output modes can now support being disabled. We were always marking mode-less outputs as disabled. Stop doing that, check whether the output takes up some space in the layout instead.
-rw-r--r--sway/desktop/output.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/sway/desktop/output.c b/sway/desktop/output.c
index f052e6f4..aed1fdeb 100644
--- a/sway/desktop/output.c
+++ b/sway/desktop/output.c
@@ -883,12 +883,9 @@ static void update_output_manager_config(struct sway_server *server) {
883 wlr_output_layout_get_box(root->output_layout, 883 wlr_output_layout_get_box(root->output_layout,
884 output->wlr_output, &output_box); 884 output->wlr_output, &output_box);
885 // We mark the output enabled when it's switched off but not disabled 885 // We mark the output enabled when it's switched off but not disabled
886 config_head->state.enabled = output->current_mode != NULL && output->enabled; 886 config_head->state.enabled = !wlr_box_empty(&output_box);
887 config_head->state.mode = output->current_mode; 887 config_head->state.x = output_box.x;
888 if (!wlr_box_empty(&output_box)) { 888 config_head->state.y = output_box.y;
889 config_head->state.x = output_box.x;
890 config_head->state.y = output_box.y;
891 }
892 } 889 }
893 890
894 wlr_output_manager_v1_set_configuration(server->output_manager_v1, config); 891 wlr_output_manager_v1_set_configuration(server->output_manager_v1, config);