aboutsummaryrefslogtreecommitdiffstats
path: root/sway
diff options
context:
space:
mode:
authorLibravatar Brian Ashworth <bosrsf04@gmail.com>2018-12-19 03:21:41 -0500
committerLibravatar emersion <contact@emersion.fr>2018-12-19 09:24:15 +0100
commit477bca5e288cc3155c536265272490b413328778 (patch)
treedf9714ab3c029e61639aa4f38e73fafaadbb91df /sway
parentReturn success when renaming a workspace to itself (diff)
downloadsway-477bca5e288cc3155c536265272490b413328778.tar.gz
sway-477bca5e288cc3155c536265272490b413328778.tar.zst
sway-477bca5e288cc3155c536265272490b413328778.zip
Terminate swaybg in output_disable
Moves the call to `terminate_swaybg` from inside `apply_output_config` to `output_disable`. The former was only called when an output was being disabled. The latter is called when an output is being disabled and when an output becomes disconnected. Without this, disconnecting an enabled output would result in a defunct swaybg process.
Diffstat (limited to 'sway')
-rw-r--r--sway/config/output.c4
-rw-r--r--sway/tree/output.c5
2 files changed, 5 insertions, 4 deletions
diff --git a/sway/config/output.c b/sway/config/output.c
index 7c2df6ec..f24e7d66 100644
--- a/sway/config/output.c
+++ b/sway/config/output.c
@@ -179,10 +179,6 @@ void apply_output_config(struct output_config *oc, struct sway_output *output) {
179 179
180 if (oc && oc->enabled == 0) { 180 if (oc && oc->enabled == 0) {
181 if (output->enabled) { 181 if (output->enabled) {
182 if (output->bg_pid != 0) {
183 terminate_swaybg(output->bg_pid);
184 output->bg_pid = 0;
185 }
186 output_disable(output); 182 output_disable(output);
187 wlr_output_layout_remove(root->output_layout, wlr_output); 183 wlr_output_layout_remove(root->output_layout, wlr_output);
188 } 184 }
diff --git a/sway/tree/output.c b/sway/tree/output.c
index 6ff95579..95ab9378 100644
--- a/sway/tree/output.c
+++ b/sway/tree/output.c
@@ -225,6 +225,11 @@ void output_disable(struct sway_output *output) {
225 225
226 root_for_each_container(untrack_output, output); 226 root_for_each_container(untrack_output, output);
227 227
228 if (output->bg_pid) {
229 terminate_swaybg(output->bg_pid);
230 output->bg_pid = 0;
231 }
232
228 int index = list_find(root->outputs, output); 233 int index = list_find(root->outputs, output);
229 list_del(root->outputs, index); 234 list_del(root->outputs, index);
230 235