mirror of
https://github.com/pcvolkmer/checkbar.git
synced 2025-04-19 19:16:50 +00:00
Show cursor after exit in terminal mode
This commit is contained in:
parent
fea1d3f650
commit
b75a1218bd
22
Cargo.lock
generated
22
Cargo.lock
generated
@ -125,6 +125,7 @@ dependencies = [
|
|||||||
"async-trait",
|
"async-trait",
|
||||||
"chrono",
|
"chrono",
|
||||||
"console",
|
"console",
|
||||||
|
"ctrlc",
|
||||||
"dirs",
|
"dirs",
|
||||||
"http",
|
"http",
|
||||||
"parse_duration",
|
"parse_duration",
|
||||||
@ -181,6 +182,16 @@ version = "0.8.6"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
|
checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ctrlc"
|
||||||
|
version = "3.4.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "82e95fbd621905b854affdc67943b043a0fbb6ed7385fd5a25650d19a8a6cfdf"
|
||||||
|
dependencies = [
|
||||||
|
"nix",
|
||||||
|
"windows-sys 0.48.0",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "dirs"
|
name = "dirs"
|
||||||
version = "5.0.1"
|
version = "5.0.1"
|
||||||
@ -522,6 +533,17 @@ dependencies = [
|
|||||||
"windows-sys 0.48.0",
|
"windows-sys 0.48.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "nix"
|
||||||
|
version = "0.27.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
|
||||||
|
dependencies = [
|
||||||
|
"bitflags 2.4.1",
|
||||||
|
"cfg-if",
|
||||||
|
"libc",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "num-traits"
|
name = "num-traits"
|
||||||
version = "0.2.17"
|
version = "0.2.17"
|
||||||
|
@ -10,6 +10,7 @@ members = ["parse_duration"]
|
|||||||
async-trait = "0.1"
|
async-trait = "0.1"
|
||||||
chrono = { version = "0.4", features = ["serde"] }
|
chrono = { version = "0.4", features = ["serde"] }
|
||||||
console = "0.15"
|
console = "0.15"
|
||||||
|
ctrlc = "3.4"
|
||||||
dirs = "5.0"
|
dirs = "5.0"
|
||||||
reqwest = { version = "0.11", features = ["json", "rustls-tls"], default-features = false }
|
reqwest = { version = "0.11", features = ["json", "rustls-tls"], default-features = false }
|
||||||
serde = { version = "1.0", features = ["derive"] }
|
serde = { version = "1.0", features = ["derive"] }
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
use checkbar::{get_click_cmd, print_states, read_click_event, run_click_cmd, Config, MouseButton};
|
use checkbar::{get_click_cmd, print_states, read_click_event, run_click_cmd, Config, MouseButton};
|
||||||
use console::Term;
|
use console::Term;
|
||||||
use serde_json::json;
|
use serde_json::json;
|
||||||
|
use std::process::exit;
|
||||||
use tokio::task;
|
use tokio::task;
|
||||||
use tokio::time::sleep;
|
use tokio::time::sleep;
|
||||||
|
|
||||||
@ -8,6 +9,11 @@ use tokio::time::sleep;
|
|||||||
async fn main() {
|
async fn main() {
|
||||||
if Term::stdout().is_term() {
|
if Term::stdout().is_term() {
|
||||||
let _ = Term::stdout().hide_cursor();
|
let _ = Term::stdout().hide_cursor();
|
||||||
|
let _ = ctrlc::set_handler(|| {
|
||||||
|
let _ = Term::stdout().show_cursor();
|
||||||
|
println!();
|
||||||
|
exit(1);
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
println!(
|
println!(
|
||||||
"{}",
|
"{}",
|
||||||
@ -37,6 +43,7 @@ async fn main() {
|
|||||||
loop {
|
loop {
|
||||||
let config = Config::read();
|
let config = Config::read();
|
||||||
print_states(&config).await;
|
print_states(&config).await;
|
||||||
|
let _ = Term::stdout().hide_cursor();
|
||||||
let _ = sleep(config.interval).await;
|
let _ = sleep(config.interval).await;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user