aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/config.rs10
-rw-r--r--src/term/mod.rs2
2 files changed, 11 insertions, 1 deletions
diff --git a/src/config.rs b/src/config.rs
index cdf1dc21..95058d38 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -390,6 +390,10 @@ pub struct Config {
#[serde(default, deserialize_with = "failure_default")]
cursor_style: CursorStyle,
+ /// Use hollow block cursor when unfocused
+ #[serde(default="true_bool", deserialize_with = "default_true_bool")]
+ unfocused_hollow_cursor: bool,
+
/// Live config reload
#[serde(default="true_bool", deserialize_with = "default_true_bool")]
live_config_reload: bool,
@@ -1363,6 +1367,12 @@ impl Config {
self.cursor_style
}
+ /// Use hollow block cursor when unfocused
+ #[inline]
+ pub fn unfocused_hollow_cursor(&self) -> bool {
+ self.unfocused_hollow_cursor
+ }
+
/// Live config reload
#[inline]
pub fn live_config_reload(&self) -> bool {
diff --git a/src/term/mod.rs b/src/term/mod.rs
index d1f48c91..02d846a4 100644
--- a/src/term/mod.rs
+++ b/src/term/mod.rs
@@ -998,7 +998,7 @@ impl Term {
) -> RenderableCellsIter {
let selection = selection.and_then(|s| s.to_span(self))
.map(|span| span.to_range());
- let cursor = if window_focused {
+ let cursor = if window_focused || !config.unfocused_hollow_cursor() {
self.cursor_style.unwrap_or(self.default_cursor_style)
} else {
CursorStyle::HollowBlock