Set attrs on launch

This commit is contained in:
tarkah 2022-10-29 10:15:09 -07:00 • committed by Jeremy Soller
parent a1f767505e
commit 972a3c722a

View file

@ -111,10 +111,11 @@ impl Application for Window {
.monospaced(true) .monospaced(true)
.family(cosmic_text::Family::Monospace); .family(cosmic_text::Family::Monospace);
let buffer = TextBuffer::new( let mut buffer = TextBuffer::new(
&FONT_SYSTEM, &FONT_SYSTEM,
FONT_SIZES[1 /* Body */], FONT_SIZES[1 /* Body */],
); );
update_attrs(&mut buffer, attrs);
let mut window = Window { let mut window = Window {
theme: Theme::Dark, theme: Theme::Dark,
@ -173,9 +174,7 @@ impl Application for Window {
}); });
let mut buffer = self.buffer.lock().unwrap(); let mut buffer = self.buffer.lock().unwrap();
for line in buffer.lines.iter_mut() { update_attrs(&mut buffer, self.attrs);
line.set_attrs_list(AttrsList::new(self.attrs));
}
}, },
Message::Italic(italic) => { Message::Italic(italic) => {
self.attrs = self.attrs.style(if italic { self.attrs = self.attrs.style(if italic {
@ -185,9 +184,7 @@ impl Application for Window {
}); });
let mut buffer = self.buffer.lock().unwrap(); let mut buffer = self.buffer.lock().unwrap();
for line in buffer.lines.iter_mut() { update_attrs(&mut buffer, self.attrs);
line.set_attrs_list(AttrsList::new(self.attrs));
}
}, },
Message::Monospaced(monospaced) => { Message::Monospaced(monospaced) => {
self.attrs = self.attrs self.attrs = self.attrs
@ -199,9 +196,7 @@ impl Application for Window {
.monospaced(monospaced); .monospaced(monospaced);
let mut buffer = self.buffer.lock().unwrap(); let mut buffer = self.buffer.lock().unwrap();
for line in buffer.lines.iter_mut() { update_attrs(&mut buffer, self.attrs);
line.set_attrs_list(AttrsList::new(self.attrs));
}
}, },
Message::MetricsChanged(metrics) => { Message::MetricsChanged(metrics) => {
let mut buffer = self.buffer.lock().unwrap(); let mut buffer = self.buffer.lock().unwrap();
@ -266,3 +261,9 @@ impl Application for Window {
content content
} }
} }
fn update_attrs<'a>(buffer: &mut TextBuffer<'a>, attrs: Attrs<'a>) {
buffer.lines.iter_mut().for_each(|line| {
line.set_attrs_list(AttrsList::new(attrs));
});
}