cursive/examples/terminal_default.rs

36 lines
866 B
Rust
Raw Normal View History

extern crate cursive;
use cursive::Cursive;
use cursive::theme::{Color, PaletteColor, Theme};
use cursive::views::TextView;
2018-01-16 02:55:27 +00:00
// This example sets the background color to the terminal default.
//
// This way, it looks more natural.
fn main() {
let mut siv = Cursive::default();
2018-01-16 02:55:27 +00:00
let theme = custom_theme_from_cursive(&siv);
2018-01-16 02:55:27 +00:00
siv.set_theme(theme);
// We can quit by pressing `q`
siv.add_global_callback('q', Cursive::quit);
2018-01-16 02:55:27 +00:00
2017-10-12 23:38:55 +00:00
siv.add_layer(TextView::new(
"Hello World with default terminal background color!\n\
Press q to quit the application.",
));
siv.run();
}
2018-01-16 02:55:27 +00:00
fn custom_theme_from_cursive(siv: &Cursive) -> Theme {
// We'll return the current theme with a small modification.
let mut theme = siv.current_theme().clone();
theme.palette[PaletteColor::Background] = Color::TerminalDefault;
2018-01-16 02:55:27 +00:00
theme
}