From b6fc00972dddf7e5d5064dce6c4b6e823b513e48 Mon Sep 17 00:00:00 2001 From: Jonathan Capps <68860609+cappsyco@users.noreply.github.com> Date: Tue, 7 Oct 2025 14:50:32 +0100 Subject: [PATCH] fix(panel): case insensitive applet search --- .../src/pages/desktop/panel/applets_inner.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/cosmic-settings/src/pages/desktop/panel/applets_inner.rs b/cosmic-settings/src/pages/desktop/panel/applets_inner.rs index bbfd98f..805b93a 100644 --- a/cosmic-settings/src/pages/desktop/panel/applets_inner.rs +++ b/cosmic-settings/src/pages/desktop/panel/applets_inner.rs @@ -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)) } }