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
This commit is contained in:
parent
e48e166584
commit
ed4b5f179e
@ -57,6 +57,9 @@ To update |kitty|, :doc:`follow the instructions <binary>`.
|
|||||||
- Fix a regression in 0.19.0 that caused a rare crash when using the optional
|
- Fix a regression in 0.19.0 that caused a rare crash when using the optional
|
||||||
:opt:`scrollback_pager_history_size` (:iss:`3049`)
|
:opt:`scrollback_pager_history_size` (:iss:`3049`)
|
||||||
|
|
||||||
|
- Full screen kittens: Fix incorrect cursor position after kitten quits
|
||||||
|
(:iss:`3176`)
|
||||||
|
|
||||||
|
|
||||||
0.19.2 [2020-11-13]
|
0.19.2 [2020-11-13]
|
||||||
-------------------
|
-------------------
|
||||||
|
|||||||
@ -264,7 +264,7 @@ def init_state(alternate_screen: bool = True) -> str:
|
|||||||
ans = (
|
ans = (
|
||||||
S7C1T + SAVE_CURSOR + SAVE_PRIVATE_MODE_VALUES + reset_mode('LNM') +
|
S7C1T + SAVE_CURSOR + SAVE_PRIVATE_MODE_VALUES + reset_mode('LNM') +
|
||||||
reset_mode('IRM') + reset_mode('DECKM') + reset_mode('DECSCNM') +
|
reset_mode('IRM') + reset_mode('DECKM') + reset_mode('DECSCNM') +
|
||||||
set_mode('DECARM') + reset_mode('DECOM') + set_mode('DECAWM') +
|
set_mode('DECARM') + set_mode('DECAWM') +
|
||||||
set_mode('DECTCEM') + reset_mode('MOUSE_BUTTON_TRACKING') +
|
set_mode('DECTCEM') + reset_mode('MOUSE_BUTTON_TRACKING') +
|
||||||
reset_mode('MOUSE_MOTION_TRACKING') + reset_mode('MOUSE_MOVE_TRACKING') +
|
reset_mode('MOUSE_MOTION_TRACKING') + reset_mode('MOUSE_MOVE_TRACKING') +
|
||||||
reset_mode('FOCUS_TRACKING') + reset_mode('MOUSE_UTF8_MODE') +
|
reset_mode('FOCUS_TRACKING') + reset_mode('MOUSE_UTF8_MODE') +
|
||||||
@ -274,7 +274,7 @@ def init_state(alternate_screen: bool = True) -> str:
|
|||||||
'\033[*x' # reset DECSACE to default region select
|
'\033[*x' # reset DECSACE to default region select
|
||||||
)
|
)
|
||||||
if alternate_screen:
|
if alternate_screen:
|
||||||
ans += set_mode('ALTERNATE_SCREEN')
|
ans += set_mode('ALTERNATE_SCREEN') + reset_mode('DECOM')
|
||||||
ans += clear_screen()
|
ans += clear_screen()
|
||||||
return ans
|
return ans
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user