1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
use crate::config::Config;
use crate::display_servers::DisplayServer;
use crate::models::Manager;
impl<C: Config, SERVER: DisplayServer> Manager<C, SERVER> {
pub fn update_windows(&mut self) {
self.state
.windows
.iter_mut()
.for_each(|w| w.set_visible(w.tags.is_empty()));
for ws in &self.state.workspaces {
let tag = self
.state
.tags
.iter_mut()
.find(|t| ws.has_tag(&t.id))
.expect("Workspace has no tag.");
tag.update_windows(&mut self.state.windows, ws);
self.state
.windows
.iter_mut()
.filter(|w| ws.is_displaying(w) && w.is_fullscreen())
.for_each(|w| w.normal = ws.xyhw);
}
self.state
.windows
.iter()
.filter(|x| x.debugging)
.for_each(|w| {
println!("{:?}", w);
});
}
}