fix: recognize KSecretService in desktop wallet recommendations
Some checks failed
Check / check (push) Has been cancelled

This commit is contained in:
LucaPisl
2026-10-01 02:16:53 +03:00
parent 02891b4357
commit ebb648b8c8

View File

@@ -121,10 +121,21 @@ pub fn discover_providers() -> Result<Vec<ProviderCandidate>> {
&& supports_secret_service(&bus, &owner) && supports_secret_service(&bus, &owner)
&& seen.insert(owner) && seen.insert(owner)
{ {
let recommended = (desktop.contains("kde") let executable_name = exe
&& exe.to_string_lossy().contains("kwallet")) .file_name()
|| (desktop.contains("gnome") .and_then(|s| s.to_str())
&& exe.to_string_lossy().contains("gnome-keyring")); .unwrap_or("")
.to_lowercase();
let kde_desktop = desktop.contains("kde") || desktop.contains("lxqt");
let gnome_desktop = [
"gnome", "cinnamon", "mate", "xfce", "lxde", "unity", "pantheon", "budgie",
]
.iter()
.any(|d| desktop.contains(d));
let recommended = (kde_desktop
&& (executable_name.contains("kwallet")
|| executable_name.contains("ksecret")))
|| (gnome_desktop && executable_name.contains("gnome-keyring"));
output.push(ProviderCandidate { output.push(ProviderCandidate {
label: label.to_string(), label: label.to_string(),
identity: Some(ProviderIdentity { identity: Some(ProviderIdentity {