Commands: System Functions

It's possible to dynamically change the screen title text and action button labels. Setting an empty label to a button makes it look disabled. The buttons send ASCII 1-5 when clicked. Those changes are not retained after restart.

CodeMeaning
`\ec` Clear screen, reset attributes and cursor. This command also restores the default screen size, title, button labels and messages.
`\e[8;r;ct` Set screen size to _r_ rows and _c_ columns (this is a command borrowed from Xterm)
`\e[5n` Query device status, ESPTerm replies with `\e[0n` "device is OK". Can be used to check if the terminal has booted up and is ready to receive commands.
_CAN_ (24) This ASCII code is not a command, but is sent by ESPTerm when it becomes ready to receive commands. When this code is received on the UART, it means ESPTerm has restarted and is ready. Use this to detect spontaneous restarts which require a full screen repaint.
`\e[n q` Set cursor style: eg. `\e[3 q` (the space is part of the command!). 0~-~block~(blink), 1~-~default, 2~-~block~(steady), 3~-~underline~(blink), 4~-~underline~(steady), 5~-~I-bar~(blink), 6~-~I-bar~(steady). The default style (number 1) can be configured in Terminal Settings
`\e]0;t\a` Set screen title to _t_ (this is a standard OSC command)
\e]8x;t\a Set label for button 1-5 (code 81-85) to _t_ - e.g.`\e]81;Yes\a` sets the first button text to "Yes".
\e]9x;m\a Set message for button 1-5 (code 91-95) to _m_ - e.g.`\e]94;*\a` sets the 3rd button to send "*" when pressed. The message can be up to 10 bytes long.
\e]9;t\a Show a notification with text _t_. This will be either a desktop notification or a pop-up balloon.
\e[?ns \\ \e[?nr Save (`s`) and restore (`r`) any option set using `CSI ? n h`. This is used by some applications to back up the original state before making changes.
\e[?800h \\ \e[?800l Show (`h`) or hide (`l`) the action buttons (the blue buttons under the screen).
\e[?801h \\ \e[?801l Show (`h`) or hide (`l`) menu/help links under the screen.
\e[?2004h \\ \e[?2004l Enable (`h`) or disable (`l`) Bracketed Paste mode. This mode makes any text sent using the Upload Tool be preceded by `\e[200\~` and terminated by `\e[201\~`. This is useful for distinguishing keyboard input from uploads.
\e[?1049h \\ \e[?1049l Switch to (`h`) or from (`l`) an alternate screen. ESPTerm can't implement this fully, so the original screen content is not saved, but it will remember the cursor, screen size, terminal title, button labels and messages.
\e[12h \\ \e[12l Enable (`h`) or disable (`l`) Send-Receive Mode (SRM). SRM is the opposite of Local Echo, meaning `\e[12h` disables and `\e[12l` enables Local Echo.