guess icons also by desktop entry search

This commit is contained in:
end-4
2025-05-30 00:37:21 +02:00
parent 440438ef33
commit c36ca265a5
+9 -1
View File
@@ -63,7 +63,8 @@ Singleton {
} }
function iconExists(iconName) { function iconExists(iconName) {
return Quickshell.iconPath(iconName, true).length > 0; return (Quickshell.iconPath(iconName, true).length > 0)
&& !iconName.includes("image-missing");
} }
function guessIcon(str) { function guessIcon(str) {
@@ -93,6 +94,13 @@ Singleton {
// Guess: normalize to kebab case // Guess: normalize to kebab case
guessStr = str.toLowerCase().replace(/\s+/g, "-"); guessStr = str.toLowerCase().replace(/\s+/g, "-");
if (iconExists(guessStr)) return guessStr; if (iconExists(guessStr)) return guessStr;
// Guess: First fuzze desktop entry match
const searchResults = root.fuzzyQuery(str);
if (searchResults.length > 0) {
const firstEntry = searchResults[0];
guessStr = firstEntry.icon
if (iconExists(guessStr)) return guessStr;
}
// Give up // Give up
return str; return str;