cswimr/home
Archived
Template
1
0
Fork 0

cleaned up does-desktop-entry-exist

This commit is contained in:
cswimr 2024-10-14 13:37:00 -04:00
parent e3e9c20356
commit 2ce0cfb146
Signed by: cswimr
GPG key ID: A9C162E867C851FA

View file

@ -162,16 +162,25 @@ function flameshot-screenshot {
function does-desktop-entry-exist {
readonly desktopentry=${1:?Please provide the full filename of the desktop entry.}
local entrypaths=(
"/usr/share/applications"
"/usr/local/share/applications"
"$HOME/.local/share/applications"
)
if (( $+commands[qtpaths] )); then
local entrypaths=("${(@f)$(qtpaths --paths ApplicationsLocation | tr ':' '\n')}")
else
echo "qtpaths is not installed, falling back to XDG_DATA_DIRS."
local entrypaths=(${(f)"$(echo $XDG_DATA_DIRS | tr ':' '\n' | sed 's|$|/applications|')"})
entrypaths+=("$HOME/.local/share/applications")
fi
echo "Checking the following paths for $desktopentry:\n${(F)entrypaths}\n--------------------"
for entrypath in "${entrypaths[@]}"; do
echo "Checking for $entrypath/$desktopentry"
if [[ -f "$entrypath/$desktopentry" ]]; then
echo "$desktopentry found in $entrypath"
return 0
fi
done
echo "Desktop entry $desktopentry does not exist."
return 1
}