mirror of
https://github.com/FliegendeWurst/cursive.git
synced 2024-11-09 10:50:40 +00:00
[Fork] A Text User Interface library for the Rust programming language
assets | ||
examples | ||
src | ||
.gitignore | ||
Cargo.toml | ||
Readme.md |
Cursive
Cursive is a ncurses-based TUI (Text User Interface) library for rust. It is based on jeaye's ncurses-rs.
It is designed to be safe and easy to use:
extern crate cursive;
use cursive::{Cursive,Dialog,TextView};
fn main() {
let mut siv = Cursive::new();
// Create a popup window with a "Ok" button that quits the application
siv.add_layer(Dialog::new(TextView::new("Hello world!"))
.button("Quit", |s, _| s.quit()));
// Starts the event loop.
siv.run();
}
A few notes :
- The main focus point is not performance. This is a simple layout library, guys, not compiz piped into libcaca. Unless you are running it on your microwave's microcontroller, it's not going to be slow.
- The library is single-threaded. Thus, callback methods are blocking - careful what you're doing in there! Feel free to use threads on your side, though.