diff options
author | Christian Duerr <contact@christianduerr.com> | 2017-12-13 18:24:12 +0100 |
---|---|---|
committer | Joe Wilm <jwilm@users.noreply.github.com> | 2017-12-24 09:46:54 -0800 |
commit | 6eb634a2b83a8a401973ec9e52c7c7ffb5b9fe84 (patch) | |
tree | fbd7755e3fa77d444efade621054069071db6b53 | |
parent | 44251d9dbb411b5e915d28a8c10c3b34cb42abfd (diff) | |
download | alacritty-6eb634a2b83a8a401973ec9e52c7c7ffb5b9fe84.tar.gz alacritty-6eb634a2b83a8a401973ec9e52c7c7ffb5b9fe84.zip |
Add box cursor to unfocused underline and beam
Because some people have requested this change, the beam and underline
cursors now also transform into an empty box when the terminal loses
focus. Like this there is one unique symbol to indicate that a terminal
is not currently focused.
-rw-r--r-- | font/src/lib.rs | 2 | ||||
-rw-r--r-- | src/term/mod.rs | 30 |
2 files changed, 16 insertions, 16 deletions
diff --git a/font/src/lib.rs b/font/src/lib.rs index 68935e45..ad1f4f80 100644 --- a/font/src/lib.rs +++ b/font/src/lib.rs @@ -255,7 +255,7 @@ pub fn get_beam_cursor_glyph( }); } -// Returns a custom beam cursor character +// Returns a custom box cursor character pub fn get_box_cursor_glyph( ascent: i32, height: i32, diff --git a/src/term/mod.rs b/src/term/mod.rs index da59a037..571686c1 100644 --- a/src/term/mod.rs +++ b/src/term/mod.rs @@ -136,12 +136,7 @@ impl<'a> RenderableCellsIter<'a> { }.initialize(cursor_style, window_focused) } - fn populate_block_cursor(&mut self, window_focused: bool) { - if !window_focused { - self.populate_cursor(font::BOX_CURSOR_CHAR, ' '); - return; - } - + fn populate_block_cursor(&mut self) { let (text_color, cursor_color) = if self.config.custom_cursor_colors() { ( Color::Named(NamedColor::CursorText), @@ -233,15 +228,20 @@ impl<'a> RenderableCellsIter<'a> { fn initialize(mut self, cursor_style: CursorStyle, window_focused: bool) -> Self { if self.cursor_is_visible() { - match cursor_style { - CursorStyle::Block => { - self.populate_block_cursor(window_focused); - }, - CursorStyle::Beam => { - self.populate_beam_cursor(); - }, - CursorStyle::Underline => { - self.populate_underline_cursor(); + if !window_focused { + // Render the box cursor if the window is not focused + self.populate_cursor(font::BOX_CURSOR_CHAR, ' '); + } else { + match cursor_style { + CursorStyle::Block => { + self.populate_block_cursor(); + }, + CursorStyle::Beam => { + self.populate_beam_cursor(); + }, + CursorStyle::Underline => { + self.populate_underline_cursor(); + } } } } else { |