mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-03-24 18:31:22 +01:00
fix(bar): use custom windows-icons w/o panics
This commit uses a custom fork of windows-icons which removes runtime panics and instead exposes a safe Option<T> based API.
This commit is contained in:
3
Cargo.lock
generated
3
Cargo.lock
generated
@@ -6115,8 +6115,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "windows-icons"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e8bbc62fa6f23804699b9559429f6f1eb761d215184e011cd365041d202e0b2e"
|
||||
source = "git+https://github.com/LGUG2Z/windows-icons?rev=d67cc9920aa9b4883393e411fb4fa2ddd4c498b5#d67cc9920aa9b4883393e411fb4fa2ddd4c498b5"
|
||||
dependencies = [
|
||||
"base64",
|
||||
"image",
|
||||
|
||||
@@ -33,4 +33,4 @@ tracing = "0.1"
|
||||
tracing-appender = "0.2"
|
||||
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
||||
windows = { workspace = true }
|
||||
windows-icons = "0.1"
|
||||
windows-icons = { git = "https://github.com/LGUG2Z/windows-icons", rev = "d67cc9920aa9b4883393e411fb4fa2ddd4c498b5" }
|
||||
@@ -223,8 +223,13 @@ impl KomorebiNotificationState {
|
||||
if let Ok(title) = window.title() {
|
||||
self.focused_window_title.clone_from(&title);
|
||||
self.focused_window_pid = Some(window.process_id());
|
||||
let img = windows_icons::get_icon_by_process_id(window.process_id());
|
||||
self.focused_window_icon = Some(img);
|
||||
if let Some(img) =
|
||||
windows_icons::get_icon_by_process_id(window.process_id())
|
||||
{
|
||||
self.focused_window_icon = Some(img);
|
||||
} else {
|
||||
self.focused_window_icon = None;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if let Some(container) =
|
||||
@@ -234,8 +239,13 @@ impl KomorebiNotificationState {
|
||||
if let Ok(title) = window.title() {
|
||||
self.focused_window_title.clone_from(&title);
|
||||
self.focused_window_pid = Some(window.process_id());
|
||||
let img = windows_icons::get_icon_by_process_id(window.process_id());
|
||||
self.focused_window_icon = Some(img);
|
||||
if let Some(img) =
|
||||
windows_icons::get_icon_by_process_id(window.process_id())
|
||||
{
|
||||
self.focused_window_icon = Some(img);
|
||||
} else {
|
||||
self.focused_window_icon = None;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user