Settings: Contains lower level terminal configuration, not necessarily state, but configuration CAN change over time.
Terminal: implements the VT emulation itself. It uses the Settings in order to configure the terminal and be able to reset back to the factory setting. (factory settings is what the configuration stated)
Action items
[ ] Move members of TerminalState back into Terminal, adapt the code accordingly to work
[ ] Refactor the line in Screen.h that looks like ScreenType bufferType() const noexcept .... Either completely remove it, or fix it to return the screen/buffer type of that very screen instance (and not the currently active one).
[ ] report back to @Yaraslaut :-)
This is a prereq for normal-mode bug that currently sometimes leaks input into the PTY.
Small clarification
Settings
: Contains lower level terminal configuration, not necessarily state, but configuration CAN change over time.Terminal
: implements the VT emulation itself. It uses theSettings
in order to configure the terminal and be able to reset back to the factory setting. (factory settings is what the configuration stated)Action items
TerminalState
back intoTerminal
, adapt the code accordingly to workScreenType bufferType() const noexcept ...
. Either completely remove it, or fix it to return the screen/buffer type of that very screen instance (and not the currently active one).This is a prereq for normal-mode bug that currently sometimes leaks input into the PTY.