From 40a255283083301b9503e1cbb9f0ea7db83e069a Mon Sep 17 00:00:00 2001 From: Bora Gülerman <49169566+eratoriele@users.noreply.github.com> Date: Thu, 19 Feb 2026 13:26:10 +0300 Subject: launcher: add favorite apps (#946) * launcher: add favorite apps Favorite apps always appear above non-favorite apps Accepts regex, same logic as #920 Added the same regex logic to hidden apps Added util file may need to be relocated * addressed requested changes * fix: Renamed newly added util singleton Also added a null check to favorite icon loader in AppItem.qml * controlCenter/launcherPane: added favorite apps added icons to the app list to indicate if they are favorited/hidden marking as favorite/hidden is desabled if the other is selected * favouriteApps: renamed from favorite to favourite Also disabled favorite/hidden switch for entries added as regex * appDb: added notify and emit to favoriteApps * controlCentre/Launcher: Fixed bug with favourite switch not enabling itself when no hiddenApps exist Added a comment to explain the enabled state of the switches icon loader is now a single loader rather than two, hidden icon has priority * spelling mistakes * fixed warning * formatting fixes --- utils/Strings.qml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 utils/Strings.qml (limited to 'utils') diff --git a/utils/Strings.qml b/utils/Strings.qml new file mode 100644 index 0000000..1d0cc76 --- /dev/null +++ b/utils/Strings.qml @@ -0,0 +1,20 @@ +pragma Singleton + +import Quickshell + +Singleton { + function testRegexList(filterList: list, target: string): bool { + const regexChecker = /^\^.*\$$/; + for (const filter of filterList) { + // If filter is a regex + if (regexChecker.test(filter)) { + if ((new RegExp(filter)).test(target)) + return true; + } else { + if (filter === target) + return true; + } + } + return false; + } +} -- cgit v1.2.3-freya