core-agent-linux/qubes-rpc/qubes.StartApp
Marek Marczykowski-Górecki 9c839d789f
qubes-rpc: fix issues found by shellcheck
Most of them are missing quotes, `` -> $(), and -o/-a usage in
conditions. Also add few directives disabling checks where were too
verbose.
2017-09-30 04:45:31 +02:00

27 lines
797 B
Bash
Executable File

#!/bin/sh
if [ -z "$1" ]; then
echo "This service require an argument" >&2
exit 1
fi
# make sure it have .desktop suffix, and only one of it
app_basename="${1%.desktop}.desktop"
# Based on XDG Base Directory Specification, Version 0.7
[ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share"
[ -n "$XDG_DATA_DIRS" ] || XDG_DATA_DIRS="/usr/local/share:/usr/share"
for dir in $(echo "$XDG_DATA_HOME:$XDG_DATA_DIRS" | tr : ' '); do
if ! [ -d "$dir/applications" ]; then
continue
fi
for subdir in $(find "$dir/applications" -type d | sort); do
if [ -f "$subdir/$app_basename" ]; then
exec qubes-desktop-run "$subdir/$app_basename"
fi
done
done
echo "applications/$app_basename not found in $XDG_DATA_HOME:$XDG_DATA_DIRS" >&2
exit 1