fix(panel): case insensitive applet search

This commit is contained in:
Jonathan Capps 2025-10-07 14:50:32 +01:00 committed by GitHub
parent 45e11578ac
commit b6fc00972d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -32,7 +32,7 @@ use std::{borrow::Cow, fmt::Debug, mem, sync::LazyLock};
use crate::{app, pages};
use cosmic_panel_config::CosmicPanelConfig;
use cosmic_settings_page::{self as page, Section, section};
use freedesktop_desktop_entry::DesktopEntry;
use freedesktop_desktop_entry::{DesktopEntry, unicase::UniCase};
use slotmap::{Key, SlotMap};
use tracing::error;
@ -553,7 +553,15 @@ pub struct Applet<'a> {
impl Applet<'_> {
#[must_use]
pub fn matches(&self, query: &str) -> bool {
self.name.contains(query) || self.description.contains(query) || self.id.contains(query)
let query = query.to_ascii_lowercase();
[
self.name.as_ref(),
self.description.as_ref(),
self.id.as_ref(),
]
.iter()
.any(|field| field.to_ascii_lowercase().contains(&query))
}
}