mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-10-16 14:56:10 +00:00
surface should default to default cursor, blinking should check selected
This commit is contained in:
@@ -717,6 +717,14 @@ pub fn render(
|
||||
return;
|
||||
}
|
||||
|
||||
// If the terminal state isn't requesting any particular style,
|
||||
// then use the configured style.
|
||||
const selected_cursor_style = style: {
|
||||
if (state.cursor.style != .default) break :style state.cursor.style;
|
||||
if (self.config.cursor_style != .default) break :style self.config.cursor_style;
|
||||
break :style .blinking_block;
|
||||
};
|
||||
|
||||
self.cursor_visible = visible: {
|
||||
// If the cursor is explicitly not visible in the state,
|
||||
// then it is not visible.
|
||||
@@ -726,7 +734,7 @@ pub fn render(
|
||||
if (state.preedit != null) break :visible true;
|
||||
|
||||
// If the cursor isn't a blinking style, then never blink.
|
||||
if (!state.cursor.style.blinking()) break :visible true;
|
||||
if (!selected_cursor_style.blinking()) break :visible true;
|
||||
|
||||
// Otherwise, adhere to our current state.
|
||||
break :visible self.cursor_visible;
|
||||
@@ -741,8 +749,6 @@ pub fn render(
|
||||
// If we aren't focused, we use a hollow box
|
||||
if (!self.focused) break :cursor_style .box_hollow;
|
||||
|
||||
const selected_cursor_style = if (state.cursor.style == .default) self.config.cursor_style else state.cursor.style;
|
||||
|
||||
break :cursor_style renderer.CursorStyle.fromTerminal(selected_cursor_style) orelse .box;
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user