Compare commits

...

2 Commits

Author SHA1 Message Date
Timofey Gelazoniya 1532c45342
refactor: imports 2024-09-06 04:09:54 +03:00
Timofey Gelazoniya c5b4f7c51e
Revert "chore: bump version (v0.2.2)"
This reverts commit 46af703f1d.
2024-09-06 04:06:18 +03:00
3 changed files with 35 additions and 42 deletions

2
Cargo.lock generated
View File

@ -1813,7 +1813,7 @@ dependencies = [
[[package]]
name = "razer-battery-report"
version = "0.2.2"
version = "0.2.1"
dependencies = [
"hidapi",
"image",

View File

@ -1,6 +1,6 @@
[package]
name = "razer-battery-report"
version = "0.2.2"
version = "0.2.1"
authors = ["xzeldon <contact@zeldon.ru>"]
edition = "2021"
description = "Razer Battery Level Tray Indicator"

View File

@ -15,10 +15,10 @@ use tray_icon::{
};
use winapi::um::{
wincon::GetConsoleWindow,
winuser::{self, ShowWindow},
winuser::{self, ShowWindow, SW_SHOW},
};
const BATTERY_UPDATE_INTERVAL: Duration = Duration::from_secs(60);
const BATTERY_UPDATE_INTERVAL: Duration = Duration::from_secs(5);
const DEVICE_FETCH_INTERVAL: Duration = Duration::from_secs(5);
#[derive(Debug)]
@ -194,53 +194,46 @@ impl TrayApp {
let menu_channel = MenuEvent::receiver();
let mut last_update = Instant::now();
let update_interval = Duration::from_millis(100);
event_loop.run(move |event, _, control_flow| {
*control_flow = tao::event_loop::ControlFlow::Wait;
*control_flow = tao::event_loop::ControlFlow::WaitUntil(
Instant::now() + Duration::from_millis(100),
);
match event {
tao::event::Event::NewEvents(tao::event::StartCause::Init) => {
TrayInner::build_tray(&tray_icon, &tray_menu, icon.clone());
}
tao::event::Event::MainEventsCleared => {
// Check if it's time to process updates
if last_update.elapsed() >= update_interval {
while let Ok(device_ids) = rx.try_recv() {
Self::update(&devices, &device_manager, &device_ids, &tray_icon);
}
if let Ok(device_ids) = rx.try_recv() {
Self::update(&devices, &device_manager, &device_ids, &tray_icon);
}
while let Ok(event) = menu_channel.try_recv() {
let menu_items = menu_items.lock().unwrap();
let show_console_item = &menu_items[0];
let quit_item = &menu_items[1];
if let tao::event::Event::NewEvents(tao::event::StartCause::Init) = event {
// We create the icon once the event loop is actually running
// to prevent issues like https://github.com/tauri-apps/tray-icon/issues/90
TrayInner::build_tray(&tray_icon, &tray_menu, icon.clone());
}
if event.id == show_console_item.id() {
let mut visible = console_state.lock().unwrap();
*visible = !*visible;
if let Ok(event) = menu_channel.try_recv() {
let menu_items = menu_items.lock().unwrap();
if *visible {
unsafe { ShowWindow(GetConsoleWindow(), winuser::SW_SHOW) };
show_console_item.set_text("Hide Log Window");
trace!("showing log window");
} else {
unsafe { ShowWindow(GetConsoleWindow(), winuser::SW_HIDE) };
show_console_item.set_text("Show Log Window");
trace!("hiding log window");
}
}
let show_console_item = &menu_items[0];
let quit_item = &menu_items[1];
if event.id == quit_item.id() {
*control_flow = tao::event_loop::ControlFlow::Exit;
return;
}
}
if event.id == show_console_item.id() {
let mut visible = console_state.lock().unwrap();
last_update = Instant::now();
if *visible {
unsafe { ShowWindow(GetConsoleWindow(), winuser::SW_HIDE) };
show_console_item.set_text("Show Log Window");
trace!("hiding log window");
*visible = false;
} else {
unsafe { ShowWindow(GetConsoleWindow(), SW_SHOW) };
show_console_item.set_text("Hide Log Window");
trace!("showing log window");
*visible = true
}
}
_ => (),
if event.id == quit_item.id() {
*control_flow = tao::event_loop::ControlFlow::Exit;
}
}
});
}