aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src/display.rs
diff options
context:
space:
mode:
authorKirill Chibisov <wchibisovkirill@gmail.com>2019-10-26 22:45:47 +0300
committerChristian Duerr <contact@christianduerr.com>2019-10-26 21:45:47 +0200
commit9ff2838844df45b6a1f20621ced870e9e1855ec8 (patch)
tree67bae587a48bf2aa7cfa5c733acf1ff901793301 /alacritty/src/display.rs
parent77127fbb41748eae264b1a7578a3bd7d0f94d5c5 (diff)
downloadr-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/display.rs')
-rw-r--r--alacritty/src/display.rs41
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