summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Persch <chpe@src.gnome.org>2022-12-20 22:11:55 +0100
committerChristian Persch <chpe@src.gnome.org>2022-12-20 22:11:55 +0100
commitbdb309bd0470fd5780039e72868e949291cc2791 (patch)
treef69ce648b4d069250ec2536e2e9911628a5f87e0
parenteaf5d30427bfc60f2a5eedd44d97062d57a76042 (diff)
downloadvte-bdb309bd0470fd5780039e72868e949291cc2791.tar.gz
parser: modes: Mark modes that should not be reset by DECSTR
-rwxr-xr-xsrc/modes.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/modes.py b/src/modes.py
index c137ffba..d2f3326d 100755
--- a/src/modes.py
+++ b/src/modes.py
@@ -92,6 +92,7 @@ class NamedMode:
number: int
name: str
default: bool
+ preserve_decstr: bool=False
flags: Flags=Flags.NONE
source: typing.Optional[Source]=None
alias: typing.Optional[typing.List[str]]=None
@@ -226,7 +227,7 @@ modes = [
# References: ECMA-48 ยง F.5.2 Removed!
# VT525
#
- mode_ECMA('LNM', 20, default=False),
+ mode_ECMA('LNM', 20, default=False, preserve_decstr=True),
mode_ECMA('GRCM', 21, default=True),
@@ -369,14 +370,14 @@ modes = [
# Sets page width to 132 (set) or 80 (reset) columns.
#
# Changing this mode resets the top, bottom, left, right margins;
- # clears the screen (unless DECNCSM is set); resets DECLRMM; and clears
+ # clears the screen (unless DECNCSM is set); resets DECLRMM; and clearsb
# the status line if host-writable.
#
# Default: reset
#
# References: VT525
#
- mode_WHAT('DEC_132_COLUMN', 3, default=False, flags=Flags.WRITABLE),
+ mode_WHAT('DEC_132_COLUMN', 3, default=False, preserve_decstr=True, flags=Flags.WRITABLE),
# DECANM - ansi-mode
# Resetting this puts the terminal into VT52 compatibility mode.
@@ -407,7 +408,7 @@ modes = [
#
# References: VT525
#
- mode_WHAT('DEC_REVERSE_IMAGE', 5, default=False, flags=Flags.WRITABLE),
+ mode_WHAT('DEC_REVERSE_IMAGE', 5, default=False, preserve_decstr=True, flags=Flags.WRITABLE),
# DECOM - origin mode
# If set, the cursor is restricted to within the page margins.
@@ -442,7 +443,7 @@ modes = [
#
# Probably not worth implementing.
#
- mode_WHAT('DECARM', 8, default=True),
+ mode_WHAT('DECARM', 8, default=True, preserve_decstr=True),
mode_WHAT('XTERM_MOUSE_X10', 9, default=False, flags=Flags.WRITABLE),
mode_WHAT('DECLTM', 11, default=False),