fix: recognize KSecretService in desktop wallet recommendations
Some checks failed
Check / check (push) Has been cancelled
Some checks failed
Check / check (push) Has been cancelled
This commit is contained in:
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user