fix: auto-enable hardware cursor in Warp terminal (#658)
Warp terminal does not correctly re-render inverse video (\x1b[7m) cursor indicators on arrow key movement, making the cursor appear invisible when navigating with arrow keys. Auto-detect Warp via TERM_PROGRAM=WarpTerminal and enable the hardware cursor by default (same as PI_HARDWARE_CURSOR=1). The hardware cursor is positioned correctly via CURSOR_MARKER and provides reliable visual feedback in Warp. Terminals that render inverse video correctly (iTerm2, Terminal.app) are unaffected — they continue using the fake cursor by default.
This commit is contained in:
parent
a90aa0c8d6
commit
d862c43424
1 changed files with 1 additions and 1 deletions
|
|
@ -221,7 +221,7 @@ export class TUI extends Container {
|
|||
private hardwareCursorRow = 0; // Actual terminal cursor row (may differ due to IME positioning)
|
||||
private inputBuffer = ""; // Buffer for parsing terminal responses
|
||||
private cellSizeQueryPending = false;
|
||||
private showHardwareCursor = process.env.PI_HARDWARE_CURSOR === "1";
|
||||
private showHardwareCursor = process.env.PI_HARDWARE_CURSOR === "1" || process.env.TERM_PROGRAM === "WarpTerminal";
|
||||
private clearOnShrink = process.env.PI_CLEAR_ON_SHRINK === "1"; // Clear empty rows when content shrinks (default: off)
|
||||
private maxLinesRendered = 0; // Track terminal's working area (max lines ever rendered)
|
||||
private previousViewportTop = 0; // Track previous viewport top for resize-aware cursor moves
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue