aboutsummaryrefslogtreecommitdiff
path: root/src/niri.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-01-16 13:28:29 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-01-16 13:28:29 +0400
commit9e667efc4c73f3e3f2c12b500ed7f41cf11ce5e6 (patch)
treeb270de9b1317656e204dd4b05c4183f3f6ac43a7 /src/niri.rs
parent8a7e4bc3cd56053546d330bbc5dc855824980a70 (diff)
downloadniri-9e667efc4c73f3e3f2c12b500ed7f41cf11ce5e6.tar.gz
niri-9e667efc4c73f3e3f2c12b500ed7f41cf11ce5e6.tar.bz2
niri-9e667efc4c73f3e3f2c12b500ed7f41cf11ce5e6.zip
Close layer surfaces upon output removal
Fixes https://github.com/YaLTeR/niri/issues/23
Diffstat (limited to 'src/niri.rs')
-rw-r--r--src/niri.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/niri.rs b/src/niri.rs
index bc31cfbc..1772160f 100644
--- a/src/niri.rs
+++ b/src/niri.rs
@@ -1114,6 +1114,10 @@ impl Niri {
}
pub fn remove_output(&mut self, output: &Output) {
+ for layer in layer_map_for_output(output).layers() {
+ layer.layer_surface().send_close();
+ }
+
self.layout.remove_output(output);
self.global_space.unmap_output(output);
self.reposition_outputs(None);