Breaking changes
Cursive::{ncurses, pancurses, termion}now return
io::Result<Self>instead of panicking.Cursive::default()still unwraps.- Also added
Cursive::try_newfor failible backends.
- Also added
- Replaced
set_fps(i32)withset_autorefresh(bool) Finder::find_id()is renamed tocall_on_id(), and a proper
find_id()was added instead.- Updated the Backend trait for a simpler input system
- Updated to Rust 2018 edition (now requires rustc > 1.31)
Cursive::clear()now takes&mut self
API updates
- Add a logging implementation (
logger::init()) and aDebugConsole
(cursive::toggle_debug_console()) - Add user-data to Cursive.
Cursive::set_user_data()can store some user-defined data structure.Cursive::user_data()andCursive::with_user_data()can be used to
access the data.
- Add
StackView::remove_layer() - Add
CircularFocusview (and bring proper circular focus to dialogs) - Add
HideableView::is_visible() - Add
type CbSink = Sender<Box<CbFunc>>as an alias for the return type of
Cursive::cb_sink() - Add
LinearLayout::{insert_child, swap_children, set_weight}for more
in-place modifications. - Add
Printer::{cropped_centered,shrinked_centered}
Improvements
- Updated termion backend to use direct /dev/tty access for improved performance.
- Enabled raw mode for ncurses and pancurses. Among other improvements, this
lets applications receive Ctrl+S and Ctrl+Q events.
Bugfixes
- Fixed overflow check for titles in
DialogandPanel