03621e5792
The workaround is no longer necessary, and it breaks when the app name itself contains .desktop (such as org.telegram.desktop). Fixes QubesOS/qubes-issues#5408.
26 linhas
731 B
Bash
Ficheiro executável
26 linhas
731 B
Bash
Ficheiro executável
#!/bin/sh
|
|
|
|
if [ -z "$1" ]; then
|
|
echo "This service requires an argument" >&2
|
|
exit 1
|
|
fi
|
|
|
|
app_basename="$1.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
|