diff --git a/Cargo.lock b/Cargo.lock index 4a2cac3..d705302 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -537,6 +537,20 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "cursive_buffered_backend" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e902dfdc09ca6729606f45a5ce6ce4ef9637fc257e8b11ca7806fc9aabd03cf7" +dependencies = [ + "cursive_core", + "enumset", + "log", + "smallvec", + "unicode-segmentation", + "unicode-width", +] + [[package]] name = "cursive_core" version = "0.3.5" @@ -1575,6 +1589,7 @@ dependencies = [ "clipboard", "crossbeam-channel", "cursive", + "cursive_buffered_backend", "dbus", "dbus-tree", "fern", diff --git a/Cargo.toml b/Cargo.toml index ce4ad89..14923a7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -45,6 +45,7 @@ tokio-stream = "0.1.9" toml = "0.5" unicode-width = "0.1.9" url = "2.2" +cursive_buffered_backend = "0.6.1" [target.'cfg(target_os = "linux")'.dependencies] wl-clipboard-rs = {version = "0.6", optional = true} diff --git a/src/main.rs b/src/main.rs index 789dd03..679f989 100644 --- a/src/main.rs +++ b/src/main.rs @@ -166,7 +166,10 @@ async fn main() -> Result<(), String> { credentials = credentials_prompt(Some(error_msg))?; } - let mut cursive = cursive::default().into_runner(); + let backend = cursive::backends::try_default().map_err(|e| e.to_string())?; + let buffered_backend = Box::new(cursive_buffered_backend::BufferedBackend::new(backend)); + + let mut cursive = cursive::CursiveRunner::new(cursive::Cursive::new(), buffered_backend); cursive.set_window_title("ncspot"); let theme = cfg.build_theme();