cursive/Readme.md

28 lines
986 B
Markdown
Raw Normal View History

2015-05-09 19:28:21 +00:00
Cursive
=======
Cursive is a ncurses-based TUI (Text User Interface) library for rust. It is based on jeaye's [ncurses-rs](https://github.com/jeaye/ncurses-rs).
2015-05-19 17:01:54 +00:00
It is designed to be safe and easy to use:
2015-05-09 19:28:21 +00:00
```rust
extern crate cursive;
use cursive::{Cursive,Dialog};
fn main() {
let mut siv = Cursive::new();
// Create a popup window with a "Ok" button that quits the application
2015-05-19 17:01:54 +00:00
siv.add_layer(Dialog::new("Hello world!").button("Ok", |s, _| s.quit()));
2015-05-09 19:28:21 +00:00
// Starts the event loop.
siv.run();
}
```
2015-05-19 17:01:54 +00:00
A few notes :
* The main focus point is _not_ performance. This is a simple layout library, guys, not [compiz](https://www.google.com/search?q=compiz&tbm=isch) piped into [libcaca](https://www.google.com/search?q=libcaca&tbm=isch). 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.