diff options
Diffstat (limited to 'alacritty_terminal/src')
-rw-r--r-- | alacritty_terminal/src/ansi.rs | 2 | ||||
-rw-r--r-- | alacritty_terminal/src/term/mod.rs | 11 |
2 files changed, 7 insertions, 6 deletions
diff --git a/alacritty_terminal/src/ansi.rs b/alacritty_terminal/src/ansi.rs index 7a89ad23..14617de1 100644 --- a/alacritty_terminal/src/ansi.rs +++ b/alacritty_terminal/src/ansi.rs @@ -463,7 +463,7 @@ pub trait Handler { fn text_area_size_chars(&mut self) {} /// Report a graphics attribute. - fn graphics_attribute<W: io::Write>(&mut self, _: &mut W, _: u16, _: u16) {} + fn graphics_attribute(&mut self, _: u16, _: u16) {} /// Create a parser for Sixel data. fn start_sixel_graphic(&mut self, _params: &Params) -> Option<Box<sixel::Parser>> { diff --git a/alacritty_terminal/src/term/mod.rs b/alacritty_terminal/src/term/mod.rs index ed2d9498..90af5ce7 100644 --- a/alacritty_terminal/src/term/mod.rs +++ b/alacritty_terminal/src/term/mod.rs @@ -1772,7 +1772,7 @@ impl<T: EventListener> Handler for Term<T> { } #[inline] - fn graphics_attribute<W: io::Write>(&mut self, writer: &mut W, pi: u16, pa: u16) { + fn graphics_attribute(&mut self, pi: u16, pa: u16) { // From Xterm documentation: // // Pi = 1 -> item is number of color registers. @@ -1793,13 +1793,14 @@ impl<T: EventListener> Handler for Term<T> { (2, &[][..]) // Report error in Pa }; - let _ = write!(writer, "\x1b[?{};{}", pi, ps); + let mut text = format!("\x1b[?{};{}", pi, ps); for item in pv { - let _ = write!(writer, ";{}", item); + let _ = write!(&mut text, ";{}", item); } - let _ = write!(writer, "S"); + text.push('S'); + self.event_proxy.send_event(Event::PtyWrite(text)); } fn start_sixel_graphic(&mut self, params: &Params) -> Option<Box<sixel::Parser>> { @@ -1859,7 +1860,7 @@ impl<T: EventListener> Handler for Term<T> { self.grid.cursor.point.line } else { // Check if the image is beyond the screen limit. - if top >= self.screen_lines().0 { + if top >= self.screen_lines() as i32 { break; } |