aboutsummaryrefslogtreecommitdiffstats
path: root/sway/tree/output.c
diff options
context:
space:
mode:
authorLibravatar Simon Ser <contact@emersion.fr>2020-02-11 14:17:33 +0100
committerLibravatar Brian Ashworth <bosrsf04@gmail.com>2020-02-11 20:52:02 -0500
commitf5fa0c7124dde3438a22550aae017f824d20c93b (patch)
tree4da13f1062a73c8b6db9c31f795fc31df3379fe3 /sway/tree/output.c
parentCall apply_output_config instead of output_enable (diff)
downloadsway-f5fa0c7124dde3438a22550aae017f824d20c93b.tar.gz
sway-f5fa0c7124dde3438a22550aae017f824d20c93b.tar.zst
sway-f5fa0c7124dde3438a22550aae017f824d20c93b.zip
Stop calling apply_output_config from output_enable
The only output_enable caller is now apply_output_config. Stop calling apply_output_config from output_enable to simplify the code and avoid the back-and-forth between these two functions. output_enable is now the symmetric of output_disable: it just marks the output as enabled and performs bookkeeping (e.g. creating teh default workspace). It is called from apply_output_config after the output commit, so that it can read the current output state and act accordingly. This change also allows us to avoid an extraneous wlr_output_commit. References: https://github.com/swaywm/sway/issues/4921
Diffstat (limited to 'sway/tree/output.c')
-rw-r--r--sway/tree/output.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/sway/tree/output.c b/sway/tree/output.c
index d2ede1f2..6f4146cd 100644
--- a/sway/tree/output.c
+++ b/sway/tree/output.c
@@ -105,9 +105,9 @@ struct sway_output *output_create(struct wlr_output *wlr_output) {
105 return output; 105 return output;
106} 106}
107 107
108bool output_enable(struct sway_output *output, struct output_config *oc) { 108void output_enable(struct sway_output *output) {
109 if (!sway_assert(!output->enabled, "output is already enabled")) { 109 if (!sway_assert(!output->enabled, "output is already enabled")) {
110 return false; 110 return;
111 } 111 }
112 struct wlr_output *wlr_output = output->wlr_output; 112 struct wlr_output *wlr_output = output->wlr_output;
113 size_t len = sizeof(output->layers) / sizeof(output->layers[0]); 113 size_t len = sizeof(output->layers) / sizeof(output->layers[0]);
@@ -116,11 +116,6 @@ bool output_enable(struct sway_output *output, struct output_config *oc) {
116 } 116 }
117 117
118 output->enabled = true; 118 output->enabled = true;
119 if (!apply_output_config(oc, output)) {
120 output->enabled = false;
121 return false;
122 }
123
124 output->configured = true; 119 output->configured = true;
125 list_add(root->outputs, output); 120 list_add(root->outputs, output);
126 121
@@ -156,8 +151,6 @@ bool output_enable(struct sway_output *output, struct output_config *oc) {
156 151
157 arrange_layers(output); 152 arrange_layers(output);
158 arrange_root(); 153 arrange_root();
159
160 return true;
161} 154}
162 155
163static void evacuate_sticky(struct sway_workspace *old_ws, 156static void evacuate_sticky(struct sway_workspace *old_ws,