diff options
author | Kirill Chibisov <wchibisovkirill@gmail.com> | 2019-10-26 22:45:47 +0300 |
---|---|---|
committer | Christian Duerr <contact@christianduerr.com> | 2019-10-26 21:45:47 +0200 |
commit | 9ff2838844df45b6a1f20621ced870e9e1855ec8 (patch) | |
tree | 67bae587a48bf2aa7cfa5c733acf1ff901793301 /alacritty/src | |
parent | 77127fbb41748eae264b1a7578a3bd7d0f94d5c5 (diff) | |
download | r-alacritty-9ff2838844df45b6a1f20621ced870e9e1855ec8.tar.gz r-alacritty-9ff2838844df45b6a1f20621ced870e9e1855ec8.tar.bz2 r-alacritty-9ff2838844df45b6a1f20621ced870e9e1855ec8.zip |
Fix visual bell rendering mode
Fixes #2911.
Diffstat (limited to 'alacritty/src')
-rw-r--r-- | alacritty/src/display.rs | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/alacritty/src/display.rs b/alacritty/src/display.rs index a8f72b3e..f20c958d 100644 --- a/alacritty/src/display.rs +++ b/alacritty/src/display.rs @@ -400,27 +400,33 @@ impl Display { let mut rects = lines.into_rects(&metrics, &size_info); + // Push visual bell after underline/strikeout rects + if visual_bell_intensity != 0. { + let visual_bell_rect = RenderRect::new( + 0., + 0., + size_info.width, + size_info.height, + config.visual_bell.color, + visual_bell_intensity as f32, + ); + rects.push(visual_bell_rect); + } + if let Some(message) = message_buffer.message() { let text = message.text(&size_info); // Create a new rectangle for the background let start_line = size_info.lines().0 - text.len(); let y = size_info.padding_y + size_info.cell_height * start_line as f32; - rects.push(RenderRect::new( - 0., - y, - size_info.width, - size_info.height - y, - message.color(), - )); + let message_bar_rect = + RenderRect::new(0., y, size_info.width, size_info.height - y, message.color(), 1.); - // Draw rectangles including the new background - self.renderer.draw_rects( - &size_info, - config.visual_bell.color, - visual_bell_intensity, - rects, - ); + // Push message_bar in the end, so it'll be above all other content + rects.push(message_bar_rect); + + // Draw rectangles + self.renderer.draw_rects(&size_info, rects); // Relay messages to the user let mut offset = 1; @@ -437,12 +443,7 @@ impl Display { } } else { // Draw rectangles - self.renderer.draw_rects( - &size_info, - config.visual_bell.color, - visual_bell_intensity, - rects, - ); + self.renderer.draw_rects(&size_info, rects); } // Draw render timer |