1use std::io::Cursor;
2
3use bar_config::Bar;
4
5fn main() {
6 let input = Cursor::new(String::from(
7 "\
8 height: 30\n\
9 monitors:\n\
10 - { name: \"DVI-1\" }\n\
11 left:\n\
12 - { text: \"Hello, World!\" }\n\
13 center:\n\
14 - { name: \"clock\" }\n\
15 right:\n\
16 - { text: \"VOLUME\" }",
17 ));
18
19 let mut bar = Bar::load(input).unwrap();
20
21 print_bar(&bar);
22 loop {
23 let _ = bar.recv();
24 print_bar(&bar);
25 }
26}
27
28fn print_bar(bar: &Bar) {
29 let config = bar.lock();
30 for comp in config
31 .left
32 .iter()
33 .chain(&config.center)
34 .chain(&config.right)
35 {
36 if let Some(text) = comp.text() {
37 print!("{}\t", text);
38 }
39 }
40 println!("");
41}