mirror of
https://github.com/wez/wezterm.git
synced 2024-09-20 11:17:15 +03:00
Fixed invisible I-beam/underline cursor w/force_reverse_video_cursor
closes: https://github.com/wez/wezterm/issues/1076
This commit is contained in:
parent
4c8ccf8efc
commit
fea3a527dd
@ -30,6 +30,7 @@ As features stabilize some brief notes about them will accumulate here.
|
|||||||
* Fixed: Crash due to Out of Memory condition when the iTerm2 protocol was used to send excessively large PNG files [#1031](https://github.com/wez/wezterm/issues/1031)
|
* Fixed: Crash due to Out of Memory condition when the iTerm2 protocol was used to send excessively large PNG files [#1031](https://github.com/wez/wezterm/issues/1031)
|
||||||
* Fixed: `DCH` sequence would remove cells and replace them with default-blank cells instead of blank-cells-with-current-bg-color. [#789](https://github.com/wez/wezterm/issues/789)
|
* Fixed: `DCH` sequence would remove cells and replace them with default-blank cells instead of blank-cells-with-current-bg-color. [#789](https://github.com/wez/wezterm/issues/789)
|
||||||
* New: Added [Multiple](config/lua/keyassignment/Multiple.md) key assignment action for combining multuple actions in a single press.
|
* New: Added [Multiple](config/lua/keyassignment/Multiple.md) key assignment action for combining multuple actions in a single press.
|
||||||
|
* Fixed: invisible I-beam or underline cursor when `force_reverse_video_cursor = true` [#1076](https://github.com/wez/wezterm/issues/1076)
|
||||||
|
|
||||||
### 20210814-124438-54e29167
|
### 20210814-124438-54e29167
|
||||||
|
|
||||||
|
@ -1093,12 +1093,7 @@ impl super::TermWindow {
|
|||||||
.texture_coords(),
|
.texture_coords(),
|
||||||
);
|
);
|
||||||
|
|
||||||
let color = if self.config.force_reverse_video_cursor {
|
quad.set_fg_color(params.cursor_border_color);
|
||||||
bg_color
|
|
||||||
} else {
|
|
||||||
params.cursor_border_color
|
|
||||||
};
|
|
||||||
quad.set_fg_color(color);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let images = cluster.attrs.images().unwrap_or_else(|| vec![]);
|
let images = cluster.attrs.images().unwrap_or_else(|| vec![]);
|
||||||
@ -1305,11 +1300,7 @@ impl super::TermWindow {
|
|||||||
.cursor_sprite(cursor_shape)?
|
.cursor_sprite(cursor_shape)?
|
||||||
.texture_coords(),
|
.texture_coords(),
|
||||||
);
|
);
|
||||||
quad.set_fg_color(if self.config.force_reverse_video_cursor {
|
quad.set_fg_color(params.cursor_border_color);
|
||||||
bg_color
|
|
||||||
} else {
|
|
||||||
params.cursor_border_color
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1515,12 +1506,9 @@ impl super::TermWindow {
|
|||||||
(params.cursor.shape, CursorVisibility::Hidden)
|
(params.cursor.shape, CursorVisibility::Hidden)
|
||||||
};
|
};
|
||||||
|
|
||||||
let (fg_color, bg_color) = match (
|
let focused_and_active = self.focused.is_some() && params.is_active_pane;
|
||||||
selected,
|
|
||||||
self.focused.is_some() && params.is_active_pane,
|
let (fg_color, bg_color) = match (selected, focused_and_active, cursor_shape, visibility) {
|
||||||
cursor_shape,
|
|
||||||
visibility,
|
|
||||||
) {
|
|
||||||
// Selected text overrides colors
|
// Selected text overrides colors
|
||||||
(true, _, _, CursorVisibility::Hidden) => (params.selection_fg, params.selection_bg),
|
(true, _, _, CursorVisibility::Hidden) => (params.selection_fg, params.selection_bg),
|
||||||
// Cursor cell overrides colors
|
// Cursor cell overrides colors
|
||||||
@ -1540,7 +1528,12 @@ impl super::TermWindow {
|
|||||||
fg_color,
|
fg_color,
|
||||||
bg_color,
|
bg_color,
|
||||||
cursor_shape: if visibility == CursorVisibility::Visible {
|
cursor_shape: if visibility == CursorVisibility::Visible {
|
||||||
Some(cursor_shape)
|
match cursor_shape {
|
||||||
|
CursorShape::BlinkingBlock | CursorShape::SteadyBlock if focused_and_active => {
|
||||||
|
None
|
||||||
|
}
|
||||||
|
shape => Some(shape),
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
None
|
None
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user