AppCUI-rs
โฏ ๐๐ฝ๐ฝ๐๐จ๐-๐ฟ๐ ๐ณ
AppCUI is a simple, easy-to-use and cross-platform library for creating text-based user interfaces in Rust:
โจ Features
- multiple out-of-the-box controls (buttons, labels, text boxes, check boxes, radio buttons, list views, tree views, combo boxes, date/time pickers, color pickers, etc.).
- menus and toolbars
- multi-platform support (Windows via API, Linux via ncurses, MacOS via termios)
- multi-threading support
- timers
- mouse support
- clipboard support
- color themes
- support for Unicode characters
- predefined dialogs (message box, input box, color picker, save & open dialogs, folder navigator, etc)
- true colors support (24 bits per pixel) for terminals that supports it.
๐ธ Screenshots
๐ Quick Start
Add the following to your Cargo.toml:
[]
= "*"
Then create a new Rust project and add the following code:
use *;
Then run the project with cargo run. You should see a window with the title Test and the text Hello World ! in the center.
๐งช Examples
- ๐ Hello World
- ๐งฎ Calculator
- ๐จ Color Picker
- ๐ Menus
Check out the examples folder for more examples.
๐ ๏ธ A more complex example
Am example that creates a window with a button that when pressed increases a counter.
use *;
// Create a window that handles button events and has a counter
๐ฃ๏ธ Roadmap
- Basic set of widgets and support for Windows, Linux and MaxOS
- WebGL support
- OpenGL / SDL / Vulkan support
- TextArea suuport for code highlighting
๐ค Contributing
Contributions, issues, and feature requests are welcome!
Check out CONTRIBUTING.md to get started.
Join the discussion in GitHub Discussions.