Fix: Use buffered backend to prevent flickering
This is reported to be occuring with the Cursive Termion backend as it redraws the screen every time, resulting in flickering for some users. Should be removed once Cursive has integrated this. See also: - https://github.com/gyscos/cursive/issues/142 - https://github.com/gyscos/cursive/issues/667 Fixes #934
This commit is contained in:
15
Cargo.lock
generated
15
Cargo.lock
generated
@@ -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",
|
||||
|
||||
@@ -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}
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user