fix: flatpaks with multiple entries only show one
This commit is contained in:
parent
092d78f7ca
commit
904b690c27
3 changed files with 25 additions and 6 deletions
16
Cargo.lock
generated
16
Cargo.lock
generated
|
|
@ -302,6 +302,17 @@ dependencies = [
|
||||||
"piper",
|
"piper",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bstr"
|
||||||
|
version = "1.12.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4"
|
||||||
|
dependencies = [
|
||||||
|
"memchr",
|
||||||
|
"regex-automata",
|
||||||
|
"serde",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bumpalo"
|
name = "bumpalo"
|
||||||
version = "3.19.0"
|
version = "3.19.0"
|
||||||
|
|
@ -756,10 +767,11 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "freedesktop-desktop-entry"
|
name = "freedesktop-desktop-entry"
|
||||||
version = "0.7.17"
|
version = "0.7.19"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "6cad6ec36904c816446700d81a2a2b7968aa9f678c24821974fa9bd53b315228"
|
checksum = "528df05c8ed0bfd569c7018914ba1995be2a133ba9ead17628ddb0ff94b86331"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"bstr",
|
||||||
"gettext-rs",
|
"gettext-rs",
|
||||||
"log",
|
"log",
|
||||||
"memchr",
|
"memchr",
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ publish = false
|
||||||
[dependencies]
|
[dependencies]
|
||||||
async-pidfd = "0.1.5"
|
async-pidfd = "0.1.5"
|
||||||
fork = "0.2.0"
|
fork = "0.2.0"
|
||||||
freedesktop-desktop-entry = "0.7.17"
|
freedesktop-desktop-entry = "0.7.19"
|
||||||
human_format = "1.1.0"
|
human_format = "1.1.0"
|
||||||
human-sort = "0.2.2"
|
human-sort = "0.2.2"
|
||||||
new_mime_guess = "4.0.4"
|
new_mime_guess = "4.0.4"
|
||||||
|
|
|
||||||
|
|
@ -72,9 +72,16 @@ impl<W: AsyncWrite + Unpin> App<W> {
|
||||||
let desktop_entries = paths
|
let desktop_entries = paths
|
||||||
.flat_map(|path| DesktopEntry::from_path(path, Some(&locales)))
|
.flat_map(|path| DesktopEntry::from_path(path, Some(&locales)))
|
||||||
.filter_map(|de| {
|
.filter_map(|de| {
|
||||||
// Treat Flatpak and system apps differently in the cache so they don't
|
// Cache flatpak apps separately from non-flatpak apps.
|
||||||
// override each other
|
let _flatpak_appid;
|
||||||
let appid = de.flatpak().unwrap_or_else(|| de.appid.as_ref());
|
let appid = match de.flatpak() {
|
||||||
|
Some(base_id) => {
|
||||||
|
_flatpak_appid = [base_id, ".", de.appid.as_str()].concat();
|
||||||
|
_flatpak_appid.as_str()
|
||||||
|
}
|
||||||
|
None => de.appid.as_str(),
|
||||||
|
};
|
||||||
|
|
||||||
if deduplicator.contains(appid) {
|
if deduplicator.contains(appid) {
|
||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue