1234567891011121314151617181920212223242526 |
- #!/bin/sh
- if [ -z "$1" ]; then
- echo "This service requires an argument" >&2
- exit 1
- fi
- # make sure it has .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
|