AppCUI supports various backends (but each one comes with advantages and drawbacks).
A backend is the terminal that takes the information (characters) from the virtual screen of AppCUI and displays them.
Each backend supported by AppCUI has the following properties:
Output rendering - each character from the AppCUI surface is display on the screen
Input reading - the backend is capable of identifying keyboard and mouse events and convert them to internal AppCUI events
Clipboard support - the backend interacts with the OS and provides functionality for Copy / Cut / Paste based on OS-es API
The following backends are supported:
Windows Console
Windows VT (Virtual Terminal)
NCurses
Termios
Web Terminal
Remarks: These types are available via appcui::backend::Type and can be used to initialize an application
#![allow(unused)]
fn main() {
let mut a = App::with_backend(apcui::backend::/*type*/).build()?;
}
where the appcui::backend::Type enum is defined as follows: