diff options
-rw-r--r-- | Cargo.lock | 1 | ||||
-rw-r--r-- | alacritty/src/renderer/graphics/draw.rs | 2 | ||||
-rw-r--r-- | alacritty_terminal/src/ansi.rs | 2 | ||||
-rw-r--r-- | alacritty_terminal/src/term/mod.rs | 11 |
4 files changed, 9 insertions, 7 deletions
@@ -32,6 +32,7 @@ dependencies = [ "glutin", "libc", "log", + "memoffset", "notify", "objc", "parking_lot", diff --git a/alacritty/src/renderer/graphics/draw.rs b/alacritty/src/renderer/graphics/draw.rs index 81013b85..e07cc078 100644 --- a/alacritty/src/renderer/graphics/draw.rs +++ b/alacritty/src/renderer/graphics/draw.rs @@ -46,7 +46,7 @@ impl RenderList { let render_item = RenderPosition { column: cell.point.column, - line: cell.point.line, + line: Line(cell.point.line as i32), offset_x: graphic.offset_x, offset_y: graphic.offset_y, }; 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; } |