Set attrs on launch
This commit is contained in:
parent
a1f767505e
commit
972a3c722a
1 changed files with 11 additions and 10 deletions
|
|
@ -111,10 +111,11 @@ impl Application for Window {
|
|||
.monospaced(true)
|
||||
.family(cosmic_text::Family::Monospace);
|
||||
|
||||
let buffer = TextBuffer::new(
|
||||
let mut buffer = TextBuffer::new(
|
||||
&FONT_SYSTEM,
|
||||
FONT_SIZES[1 /* Body */],
|
||||
);
|
||||
update_attrs(&mut buffer, attrs);
|
||||
|
||||
let mut window = Window {
|
||||
theme: Theme::Dark,
|
||||
|
|
@ -173,9 +174,7 @@ impl Application for Window {
|
|||
});
|
||||
|
||||
let mut buffer = self.buffer.lock().unwrap();
|
||||
for line in buffer.lines.iter_mut() {
|
||||
line.set_attrs_list(AttrsList::new(self.attrs));
|
||||
}
|
||||
update_attrs(&mut buffer, self.attrs);
|
||||
},
|
||||
Message::Italic(italic) => {
|
||||
self.attrs = self.attrs.style(if italic {
|
||||
|
|
@ -185,9 +184,7 @@ impl Application for Window {
|
|||
});
|
||||
|
||||
let mut buffer = self.buffer.lock().unwrap();
|
||||
for line in buffer.lines.iter_mut() {
|
||||
line.set_attrs_list(AttrsList::new(self.attrs));
|
||||
}
|
||||
update_attrs(&mut buffer, self.attrs);
|
||||
},
|
||||
Message::Monospaced(monospaced) => {
|
||||
self.attrs = self.attrs
|
||||
|
|
@ -199,9 +196,7 @@ impl Application for Window {
|
|||
.monospaced(monospaced);
|
||||
|
||||
let mut buffer = self.buffer.lock().unwrap();
|
||||
for line in buffer.lines.iter_mut() {
|
||||
line.set_attrs_list(AttrsList::new(self.attrs));
|
||||
}
|
||||
update_attrs(&mut buffer, self.attrs);
|
||||
},
|
||||
Message::MetricsChanged(metrics) => {
|
||||
let mut buffer = self.buffer.lock().unwrap();
|
||||
|
|
@ -266,3 +261,9 @@ impl Application for Window {
|
|||
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));
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue