New backup 2025-11-28 11:00:02
This commit is contained in:
parent
b3dca76aa5
commit
745d748571
1 changed files with 30 additions and 23 deletions
|
|
@ -39,9 +39,12 @@ get_hardcoded_icon() {
|
||||||
|
|
||||||
get_desktop() {
|
get_desktop() {
|
||||||
app="$1"
|
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:
|
# fast and easy cases first:
|
||||||
|
for p in "${plist[@]}";do
|
||||||
for prefix in "" org.kde. org.gnome. org.freedesktop.; do
|
for prefix in "" org.kde. org.gnome. org.freedesktop.; do
|
||||||
d="$p/$prefix$app.desktop"
|
d="$p/$prefix$app.desktop"
|
||||||
[[ -r "$d" ]] && {
|
[[ -r "$d" ]] && {
|
||||||
|
|
@ -50,8 +53,10 @@ get_desktop() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
done
|
done
|
||||||
|
done
|
||||||
|
|
||||||
# maybe lowercase
|
# maybe lowercase
|
||||||
|
for p in "${plist[@]}";do
|
||||||
for prefix in "" org.kde. org.gnome. org.freedesktop.; do
|
for prefix in "" org.kde. org.gnome. org.freedesktop.; do
|
||||||
d="$p/$prefix${app,,}.desktop"
|
d="$p/$prefix${app,,}.desktop"
|
||||||
[[ -r "$d" ]] && {
|
[[ -r "$d" ]] && {
|
||||||
|
|
@ -60,14 +65,14 @@ get_desktop() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
done
|
done
|
||||||
|
done
|
||||||
# this is fairly reliable but slow:
|
# this is fairly reliable but slow:
|
||||||
# look for a .desktop file with Exec=$app eg
|
# look for a .desktop file with Exec=$app eg
|
||||||
# gnome-disks (but exclude gnome-disk-image-writer.desktop)
|
# gnome-disks (but exclude gnome-disk-image-writer.desktop)
|
||||||
# gnome-font-viewer
|
# gnome-font-viewer
|
||||||
GREP='egrep -r'
|
GREP='egrep -r'
|
||||||
type rg &>/dev/null && GREP=rg
|
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" ]] && {
|
[[ -r "$d" ]] && {
|
||||||
echo "$d"
|
echo "$d"
|
||||||
[[ "$verbose" ]] && echo "found '$d'" >&2
|
[[ "$verbose" ]] && echo "found '$d'" >&2
|
||||||
|
|
@ -76,12 +81,14 @@ get_desktop() {
|
||||||
|
|
||||||
# desperation - weird apps like com.github.wwmm.pulseeffects.desktop!!
|
# desperation - weird apps like com.github.wwmm.pulseeffects.desktop!!
|
||||||
# shellcheck disable=SC2012
|
# shellcheck disable=SC2012
|
||||||
|
for p in "${plist[@]}";do
|
||||||
d=$( ls "$p/"*".$app.desktop" 2>/dev/null | head -n 1 )
|
d=$( ls "$p/"*".$app.desktop" 2>/dev/null | head -n 1 )
|
||||||
[[ -r "$d" ]] && {
|
[[ -r "$d" ]] && {
|
||||||
echo "$d"
|
echo "$d"
|
||||||
[[ "$verbose" ]] && echo "found '$d'" >&2
|
[[ "$verbose" ]] && echo "found '$d'" >&2
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
get_icon() {
|
get_icon() {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue