New backup 2025-11-28 11:00:02

This commit is contained in:
Penelope Gwen 2025-11-28 11:00:02 -08:00
parent b3dca76aa5
commit 745d748571

View file

@ -39,9 +39,12 @@ get_hardcoded_icon() {
get_desktop() {
app="$1"
p="/usr/share/applications"
plist=("/usr/share/applications", "/var/lib/flatpak/exports/share/applications/")
[[ "$verbose" ]] && echo "searching for '$app'" >&2
# fast and easy cases first:
for p in "${plist[@]}";do
for prefix in "" org.kde. org.gnome. org.freedesktop.; do
d="$p/$prefix$app.desktop"
[[ -r "$d" ]] && {
@ -50,8 +53,10 @@ get_desktop() {
return
}
done
done
# maybe lowercase
for p in "${plist[@]}";do
for prefix in "" org.kde. org.gnome. org.freedesktop.; do
d="$p/$prefix${app,,}.desktop"
[[ -r "$d" ]] && {
@ -60,14 +65,14 @@ get_desktop() {
return
}
done
done
# this is fairly reliable but slow:
# look for a .desktop file with Exec=$app eg
# gnome-disks (but exclude gnome-disk-image-writer.desktop)
# gnome-font-viewer
GREP='egrep -r'
type rg &>/dev/null && GREP=rg
d=$( $GREP -il "^exec=$app( %u)*[[:space:]]*$" $p | head -n 1)
d=$( $GREP -il "^exec=$app( %u)*[[:space:]]*$" ${p[@]} | head -n 1)
[[ -r "$d" ]] && {
echo "$d"
[[ "$verbose" ]] && echo "found '$d'" >&2
@ -76,12 +81,14 @@ get_desktop() {
# desperation - weird apps like com.github.wwmm.pulseeffects.desktop!!
# shellcheck disable=SC2012
for p in "${plist[@]}";do
d=$( ls "$p/"*".$app.desktop" 2>/dev/null | head -n 1 )
[[ -r "$d" ]] && {
echo "$d"
[[ "$verbose" ]] && echo "found '$d'" >&2
return
}
done
}
get_icon() {