fix(app-list): missing app icons when an appid is not found
This commit is contained in:
parent
a431423929
commit
39f9bb45ff
2 changed files with 23 additions and 25 deletions
30
Cargo.lock
generated
30
Cargo.lock
generated
|
|
@ -1390,7 +1390,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cosmic-config"
|
name = "cosmic-config"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/pop-os/libcosmic#f7d22446c1766b6d2e60b7e0333717f96ca347e9"
|
source = "git+https://github.com/pop-os/libcosmic#67df54f38390eda8180b55b55b0fe9825894a62a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"atomicwrites",
|
"atomicwrites",
|
||||||
"cosmic-config-derive",
|
"cosmic-config-derive",
|
||||||
|
|
@ -1412,7 +1412,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cosmic-config-derive"
|
name = "cosmic-config-derive"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/pop-os/libcosmic#f7d22446c1766b6d2e60b7e0333717f96ca347e9"
|
source = "git+https://github.com/pop-os/libcosmic#67df54f38390eda8180b55b55b0fe9825894a62a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"quote",
|
"quote",
|
||||||
"syn 1.0.109",
|
"syn 1.0.109",
|
||||||
|
|
@ -1571,7 +1571,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cosmic-theme"
|
name = "cosmic-theme"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/pop-os/libcosmic#f7d22446c1766b6d2e60b7e0333717f96ca347e9"
|
source = "git+https://github.com/pop-os/libcosmic#67df54f38390eda8180b55b55b0fe9825894a62a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"almost",
|
"almost",
|
||||||
"cosmic-config",
|
"cosmic-config",
|
||||||
|
|
@ -2922,7 +2922,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "iced"
|
name = "iced"
|
||||||
version = "0.14.0-dev"
|
version = "0.14.0-dev"
|
||||||
source = "git+https://github.com/pop-os/libcosmic#f7d22446c1766b6d2e60b7e0333717f96ca347e9"
|
source = "git+https://github.com/pop-os/libcosmic#67df54f38390eda8180b55b55b0fe9825894a62a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"dnd",
|
"dnd",
|
||||||
"iced_accessibility",
|
"iced_accessibility",
|
||||||
|
|
@ -2940,7 +2940,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "iced_accessibility"
|
name = "iced_accessibility"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/pop-os/libcosmic#f7d22446c1766b6d2e60b7e0333717f96ca347e9"
|
source = "git+https://github.com/pop-os/libcosmic#67df54f38390eda8180b55b55b0fe9825894a62a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"accesskit",
|
"accesskit",
|
||||||
"accesskit_winit",
|
"accesskit_winit",
|
||||||
|
|
@ -2949,7 +2949,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "iced_core"
|
name = "iced_core"
|
||||||
version = "0.14.0-dev"
|
version = "0.14.0-dev"
|
||||||
source = "git+https://github.com/pop-os/libcosmic#f7d22446c1766b6d2e60b7e0333717f96ca347e9"
|
source = "git+https://github.com/pop-os/libcosmic#67df54f38390eda8180b55b55b0fe9825894a62a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.9.0",
|
"bitflags 2.9.0",
|
||||||
"bytes",
|
"bytes",
|
||||||
|
|
@ -2973,7 +2973,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "iced_futures"
|
name = "iced_futures"
|
||||||
version = "0.14.0-dev"
|
version = "0.14.0-dev"
|
||||||
source = "git+https://github.com/pop-os/libcosmic#f7d22446c1766b6d2e60b7e0333717f96ca347e9"
|
source = "git+https://github.com/pop-os/libcosmic#67df54f38390eda8180b55b55b0fe9825894a62a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures",
|
"futures",
|
||||||
"iced_core",
|
"iced_core",
|
||||||
|
|
@ -2999,7 +2999,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "iced_graphics"
|
name = "iced_graphics"
|
||||||
version = "0.14.0-dev"
|
version = "0.14.0-dev"
|
||||||
source = "git+https://github.com/pop-os/libcosmic#f7d22446c1766b6d2e60b7e0333717f96ca347e9"
|
source = "git+https://github.com/pop-os/libcosmic#67df54f38390eda8180b55b55b0fe9825894a62a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.9.0",
|
"bitflags 2.9.0",
|
||||||
"bytemuck",
|
"bytemuck",
|
||||||
|
|
@ -3021,7 +3021,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "iced_renderer"
|
name = "iced_renderer"
|
||||||
version = "0.14.0-dev"
|
version = "0.14.0-dev"
|
||||||
source = "git+https://github.com/pop-os/libcosmic#f7d22446c1766b6d2e60b7e0333717f96ca347e9"
|
source = "git+https://github.com/pop-os/libcosmic#67df54f38390eda8180b55b55b0fe9825894a62a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"iced_graphics",
|
"iced_graphics",
|
||||||
"iced_tiny_skia",
|
"iced_tiny_skia",
|
||||||
|
|
@ -3033,7 +3033,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "iced_runtime"
|
name = "iced_runtime"
|
||||||
version = "0.14.0-dev"
|
version = "0.14.0-dev"
|
||||||
source = "git+https://github.com/pop-os/libcosmic#f7d22446c1766b6d2e60b7e0333717f96ca347e9"
|
source = "git+https://github.com/pop-os/libcosmic#67df54f38390eda8180b55b55b0fe9825894a62a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"cosmic-client-toolkit",
|
"cosmic-client-toolkit",
|
||||||
|
|
@ -3048,7 +3048,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "iced_tiny_skia"
|
name = "iced_tiny_skia"
|
||||||
version = "0.14.0-dev"
|
version = "0.14.0-dev"
|
||||||
source = "git+https://github.com/pop-os/libcosmic#f7d22446c1766b6d2e60b7e0333717f96ca347e9"
|
source = "git+https://github.com/pop-os/libcosmic#67df54f38390eda8180b55b55b0fe9825894a62a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytemuck",
|
"bytemuck",
|
||||||
"cosmic-text",
|
"cosmic-text",
|
||||||
|
|
@ -3064,7 +3064,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "iced_wgpu"
|
name = "iced_wgpu"
|
||||||
version = "0.14.0-dev"
|
version = "0.14.0-dev"
|
||||||
source = "git+https://github.com/pop-os/libcosmic#f7d22446c1766b6d2e60b7e0333717f96ca347e9"
|
source = "git+https://github.com/pop-os/libcosmic#67df54f38390eda8180b55b55b0fe9825894a62a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"as-raw-xcb-connection",
|
"as-raw-xcb-connection",
|
||||||
"bitflags 2.9.0",
|
"bitflags 2.9.0",
|
||||||
|
|
@ -3095,7 +3095,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "iced_widget"
|
name = "iced_widget"
|
||||||
version = "0.14.0-dev"
|
version = "0.14.0-dev"
|
||||||
source = "git+https://github.com/pop-os/libcosmic#f7d22446c1766b6d2e60b7e0333717f96ca347e9"
|
source = "git+https://github.com/pop-os/libcosmic#67df54f38390eda8180b55b55b0fe9825894a62a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cosmic-client-toolkit",
|
"cosmic-client-toolkit",
|
||||||
"dnd",
|
"dnd",
|
||||||
|
|
@ -3113,7 +3113,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "iced_winit"
|
name = "iced_winit"
|
||||||
version = "0.14.0-dev"
|
version = "0.14.0-dev"
|
||||||
source = "git+https://github.com/pop-os/libcosmic#f7d22446c1766b6d2e60b7e0333717f96ca347e9"
|
source = "git+https://github.com/pop-os/libcosmic#67df54f38390eda8180b55b55b0fe9825894a62a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cosmic-client-toolkit",
|
"cosmic-client-toolkit",
|
||||||
"dnd",
|
"dnd",
|
||||||
|
|
@ -3839,7 +3839,7 @@ checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6"
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libcosmic"
|
name = "libcosmic"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/pop-os/libcosmic#f7d22446c1766b6d2e60b7e0333717f96ca347e9"
|
source = "git+https://github.com/pop-os/libcosmic#67df54f38390eda8180b55b55b0fe9825894a62a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"apply",
|
"apply",
|
||||||
"ashpd 0.9.2",
|
"ashpd 0.9.2",
|
||||||
|
|
|
||||||
|
|
@ -576,11 +576,8 @@ fn find_desktop_entries<'a>(
|
||||||
app_ids.iter().map(|fav| {
|
app_ids.iter().map(|fav| {
|
||||||
let unicase_fav = fde::unicase::Ascii::new(fav.as_str());
|
let unicase_fav = fde::unicase::Ascii::new(fav.as_str());
|
||||||
fde::find_app_by_id(desktop_entries, unicase_fav)
|
fde::find_app_by_id(desktop_entries, unicase_fav)
|
||||||
.unwrap_or_else(|| {
|
.map(ToOwned::to_owned)
|
||||||
panic!("could not find {fav}");
|
.unwrap_or_else(|| fde::DesktopEntry::from_appid(fav.clone()).to_owned())
|
||||||
&fde::DesktopEntry::from_appid(fav.clone()).to_owned()
|
|
||||||
})
|
|
||||||
.to_owned()
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1066,26 +1063,27 @@ impl cosmic::Application for CosmicAppList {
|
||||||
let unicase_appid = fde::unicase::Ascii::new(&*info.app_id);
|
let unicase_appid = fde::unicase::Ascii::new(&*info.app_id);
|
||||||
let new_desktop_info =
|
let new_desktop_info =
|
||||||
match fde::find_app_by_id(&self.desktop_entries, unicase_appid) {
|
match fde::find_app_by_id(&self.desktop_entries, unicase_appid) {
|
||||||
Some(appid) => appid,
|
Some(appid) => appid.clone(),
|
||||||
None => {
|
None => {
|
||||||
// Update desktop entries in case it was not found.
|
// Update desktop entries in case it was not found.
|
||||||
|
|
||||||
self.update_desktop_entries();
|
self.update_desktop_entries();
|
||||||
match fde::find_app_by_id(
|
match fde::find_app_by_id(
|
||||||
&self.desktop_entries,
|
&self.desktop_entries,
|
||||||
unicase_appid,
|
unicase_appid,
|
||||||
) {
|
) {
|
||||||
Some(appid) => appid,
|
Some(appid) => appid.clone(),
|
||||||
None => {
|
None => {
|
||||||
tracing::error!(
|
tracing::error!(
|
||||||
id = info.app_id,
|
id = info.app_id,
|
||||||
"could not find desktop entry for app"
|
"could not find desktop entry for app"
|
||||||
);
|
);
|
||||||
return Task::none();
|
|
||||||
|
fde::DesktopEntry::from_appid(info.app_id.clone())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
.clone();
|
|
||||||
|
|
||||||
if let Some(t) = self
|
if let Some(t) = self
|
||||||
.active_list
|
.active_list
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue