mirror of
https://github.com/endeavouros-team/eos-bash-shared.git
synced 2026-06-13 01:34:36 +00:00
66 lines
1.5 KiB
Bash
66 lines
1.5 KiB
Bash
#!/bin/bash
|
|
|
|
#FindAppIconKDE() {
|
|
# local app="$1"
|
|
# local sz
|
|
# local path
|
|
#
|
|
# for sz in "48" "48x48" ; do
|
|
# path="$(/usr/bin/find /usr/share/icons -name "$app".\* | /usr/bin/grep -m1 /${sz}/)"
|
|
# test -n "$path" && {
|
|
# echo "$path"
|
|
# return
|
|
# }
|
|
# done
|
|
# #echo "Sorry, icon path not found for app '$app'." >&2
|
|
#}
|
|
|
|
|
|
FindDesktopIcon() {
|
|
local app="$1"
|
|
local path
|
|
local dir=/usr/share/applications
|
|
|
|
if [ -r $dir/"$app".desktop ] ; then
|
|
path="$(grep -m1 "^Icon=" $dir/"$app".desktop | cut -d '=' -f 2)"
|
|
if [ -n "$path" ] ; then
|
|
echo "$path"
|
|
return 0
|
|
fi
|
|
fi
|
|
return 1
|
|
}
|
|
|
|
FindAppIcon() {
|
|
source /etc/eos-script-lib-yad.conf || return 1
|
|
|
|
local progname="$(/usr/bin/basename "$0")"
|
|
local app="$1"
|
|
local sz
|
|
local path paths
|
|
local set
|
|
local icon_sets=()
|
|
|
|
for set in "${EOS_ICON_SETS_PREFERENCE[@]}" ; do
|
|
icon_sets+=("${set##*/}")
|
|
done
|
|
|
|
FindDesktopIcon "$app" && return
|
|
|
|
for set in "${icon_sets[@]}" ; do
|
|
paths="$(find "/usr/share/icons/$set" -name "$app".\*)"
|
|
path="$(echo "$paths" | grep -m1 "/scalable/")"
|
|
[ -z "$path" ] && path="$(echo "$paths" | sort -r | head -n1)"
|
|
[ -z "$path" ] && path=$(yad-tools -i "$app" 2>/dev/null)
|
|
if [ -n "$path" ] ; then
|
|
echo "$path"
|
|
return
|
|
fi
|
|
done
|
|
|
|
local log="/tmp/${progname}-issues-$EUID.log"
|
|
echo "$progname: sorry, icon path not found for app '$app'." >> "$log"
|
|
}
|
|
|
|
FindAppIcon "$@"
|