Breaking changes
Cursive::{ncurses, pancurses, termion}
now return
io::Result<Self>
instead of panicking.Cursive::default()
still unwraps.- Also added
Cursive::try_new
for 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
CircularFocus
view (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
Dialog
andPanel