aboutsummaryrefslogtreecommitdiff
path: root/sway/config/output.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/config/output.c')
-rw-r--r--sway/config/output.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/sway/config/output.c b/sway/config/output.c
index 1d8cb3ef..16ec9339 100644
--- a/sway/config/output.c
+++ b/sway/config/output.c
@@ -9,6 +9,7 @@
#include <wlr/types/wlr_output_layout.h>
#include "sway/config.h"
#include "sway/output.h"
+#include "sway/tree/root.h"
#include "log.h"
int output_name_cmp(const void *item, const void *data) {
@@ -181,13 +182,11 @@ void apply_output_config(struct output_config *oc, struct sway_container *output
struct wlr_output *wlr_output = output->sway_output->wlr_output;
if (oc && oc->enabled == 0) {
- struct sway_output *sway_output = output->sway_output;
if (output->sway_output->bg_pid != 0) {
terminate_swaybg(output->sway_output->bg_pid);
output->sway_output->bg_pid = 0;
}
- container_destroy(output);
- sway_output->swayc = NULL;
+ output_begin_destroy(output);
wlr_output_layout_remove(root_container.sway_root->output_layout,
wlr_output);
return;
@@ -290,7 +289,8 @@ void apply_output_config_to_outputs(struct output_config *oc) {
bool wildcard = strcmp(oc->name, "*") == 0;
char id[128];
struct sway_output *sway_output;
- wl_list_for_each(sway_output, &root_container.sway_root->outputs, link) {
+ wl_list_for_each(sway_output,
+ &root_container.sway_root->all_outputs, link) {
char *name = sway_output->wlr_output->name;
output_get_identifier(id, sizeof(id), sway_output);
if (wildcard || !strcmp(name, oc->name) || !strcmp(id, oc->name)) {
@@ -350,7 +350,8 @@ static void default_output_config(struct output_config *oc,
void create_default_output_configs(void) {
struct sway_output *sway_output;
- wl_list_for_each(sway_output, &root_container.sway_root->outputs, link) {
+ wl_list_for_each(sway_output,
+ &root_container.sway_root->all_outputs, link) {
char *name = sway_output->wlr_output->name;
struct output_config *oc = new_output_config(name);
default_output_config(oc, sway_output->wlr_output);