Skip to content

Commit a6d16e8

Browse files
committed
Restore cursor using normal capability
- Looks like some infocmp capabilities for making cursor visible using cvvis doesn't always work. So change to use cnorm instead. - Terminal instruction of making cursor very visible with cvvis doesn't mean cursor should be visible, afaik, so i.e. screen or tmux didn't work. - Fixes #970
1 parent 1f027b8 commit a6d16e8

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

spring-shell-core/src/main/java/org/springframework/shell/component/support/AbstractComponent.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ protected void loop(ComponentContext<?> context) {
294294
finally {
295295
terminal.setAttributes(attr);
296296
terminal.puts(Capability.keypad_local);
297-
terminal.puts(Capability.cursor_visible);
297+
terminal.puts(Capability.cursor_normal);
298298
display.update(Collections.emptyList(), 0);
299299
}
300300
}

spring-shell-core/src/main/java/org/springframework/shell/component/view/TerminalUI.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ private void display() {
283283

284284
int targetCursorPos = 0;
285285
if (virtualDisplay.isShowCursor()) {
286-
terminal.puts(Capability.cursor_visible);
286+
terminal.puts(Capability.cursor_normal);
287287
targetCursorPos = size.cursorPos(virtualDisplay.getCursorPosition().y(), virtualDisplay.getCursorPosition().x());
288288
log.debug("Display targetCursorPos {}", targetCursorPos);
289289
}
@@ -402,7 +402,7 @@ private void loop() {
402402
eventLoop.destroy();
403403
terminal.setAttributes(attr);
404404
log.debug("Setting cursor visible");
405-
terminal.puts(Capability.cursor_visible);
405+
terminal.puts(Capability.cursor_normal);
406406
if (fullScreen) {
407407
display.update(Collections.emptyList(), 0);
408408
}

0 commit comments

Comments
 (0)