Prune unused empty workspaces while preserving visible outputs

This commit is contained in:
Samuel Onoja committed 2026-09-27 12:16:50 +01:00
1 parent 0295b5be3e
commit f87039562b
5 files changed
+148 -2

No files matched your search

+9
View File
@@ -1263,6 +1263,15 @@ impl Ferese {
}
pub fn relayout(&mut self) {
let protected = self
.output_workspaces
.connected_outputs()
.filter_map(|output| self.output_workspaces.active_workspace(output))
.collect::<HashSet<_>>();
for workspace in self.workspaces.prune_empty(&protected) {
self.output_workspaces.forget_workspace(workspace);
self.viewport_animations.remove(&workspace);
}
if self.session_lock.active {
self.configure_lock_surfaces();
}