diff --git a/cli.py b/cli.py index d5deded931..651824608a 100644 --- a/cli.py +++ b/cli.py @@ -1556,6 +1556,8 @@ _TERMINAL_INPUT_MODE_RESET_SEQ = ( "\x1b[?1004l" # disable focus events "\x1b[?2004l" # disable bracketed paste "\x1b[?1049l" # leave alt screen (if stuck there) + "\x1b[4m" # reset modifyOtherKeys "\x1b[0m" # reset text attributes "\x1b[?25h" # ensure cursor visible ) diff --git a/ui-tui/src/__tests__/terminalModes.test.ts b/ui-tui/src/__tests__/terminalModes.test.ts index 3eacdba55f..38ad8fe6a2 100644 --- a/ui-tui/src/__tests__/terminalModes.test.ts +++ b/ui-tui/src/__tests__/terminalModes.test.ts @@ -11,6 +11,8 @@ describe('terminal mode reset', () => { expect(TERMINAL_MODE_RESET).toContain('\x1b[?1004l') expect(TERMINAL_MODE_RESET).toContain('\x1b[?2004l') expect(TERMINAL_MODE_RESET).toContain('\x1b[?1049l') + expect(TERMINAL_MODE_RESET).toContain('\x1b[4m') }) it('writes reset sequence to TTY streams without fds', () => { diff --git a/ui-tui/src/lib/terminalModes.ts b/ui-tui/src/lib/terminalModes.ts index bf60b667e4..7add599892 100644 --- a/ui-tui/src/lib/terminalModes.ts +++ b/ui-tui/src/lib/terminalModes.ts @@ -8,6 +8,8 @@ export const TERMINAL_MODE_RESET = '\x1b[?1004l' + // focus events '\x1b[?2004l' + // bracketed paste '\x1b[?1049l' + // alternate screen + '\x1b[4m' + // modifyOtherKeys '\x1b[0m' + // attributes '\x1b[?25h' // cursor visible