Skip to content

Commit ed4b5f1

Browse files
committed
Full screen kittens: Fix incorrect cursor position after kitten quits
DECOM should be reset only after entering alternate screen as it also changes cursor position. Fixes #3176
1 parent e48e166 commit ed4b5f1

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

docs/changelog.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ To update |kitty|, :doc:`follow the instructions <binary>`.
5757
- Fix a regression in 0.19.0 that caused a rare crash when using the optional
5858
:opt:`scrollback_pager_history_size` (:iss:`3049`)
5959

60+
- Full screen kittens: Fix incorrect cursor position after kitten quits
61+
(:iss:`3176`)
62+
6063

6164
0.19.2 [2020-11-13]
6265
-------------------

kittens/tui/operations.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ def init_state(alternate_screen: bool = True) -> str:
264264
ans = (
265265
S7C1T + SAVE_CURSOR + SAVE_PRIVATE_MODE_VALUES + reset_mode('LNM') +
266266
reset_mode('IRM') + reset_mode('DECKM') + reset_mode('DECSCNM') +
267-
set_mode('DECARM') + reset_mode('DECOM') + set_mode('DECAWM') +
267+
set_mode('DECARM') + set_mode('DECAWM') +
268268
set_mode('DECTCEM') + reset_mode('MOUSE_BUTTON_TRACKING') +
269269
reset_mode('MOUSE_MOTION_TRACKING') + reset_mode('MOUSE_MOVE_TRACKING') +
270270
reset_mode('FOCUS_TRACKING') + reset_mode('MOUSE_UTF8_MODE') +
@@ -274,7 +274,7 @@ def init_state(alternate_screen: bool = True) -> str:
274274
'\033[*x' # reset DECSACE to default region select
275275
)
276276
if alternate_screen:
277-
ans += set_mode('ALTERNATE_SCREEN')
277+
ans += set_mode('ALTERNATE_SCREEN') + reset_mode('DECOM')
278278
ans += clear_screen()
279279
return ans
280280

0 commit comments

Comments
 (0)