summary refs log tree commit diff
path: root/bin/xdg-exec
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2020-06-17 18:34:55 +0200
committerRobert Günzler <r@gnzler.io>2020-06-17 18:34:55 +0200
commit7e9cccf2b1286b3444ff0e530289ba102b959d7a (patch)
tree7d6727f8f915ec662742e69cde4bb88e68b158e7 /bin/xdg-exec
parent3970849e518ba15f17ecd91f19d16e5869c41f6d (diff)
fixup! Add xdg-exec, lets us drop drun menu
Diffstat (limited to 'bin/xdg-exec')
-rwxr-xr-xbin/xdg-exec6
1 files changed, 4 insertions, 2 deletions
diff --git a/bin/xdg-exec b/bin/xdg-exec
index 30b810d..787c502 100755
--- a/bin/xdg-exec
+++ b/bin/xdg-exec
@@ -1,5 +1,7 @@
 #!/bin/sh
-set -e
-desktop=${1:-$(echo "$0" | sed 's#/bin#/share/applications#')}
+set -ex
+basepath=$(dirname "$0" | sed 's#/bin#/share/applications#')
+basename=$(basename "$0" | sed -e 's/^_//' -e 's/.desktop$//')
+desktop=${basepath}/${basename}.desktop
 bin=$(awk '/TryExec=/{split($0,l,"="); if (not system("command -v l[2]")){exit 1}} /Exec=/{print substr($0, index($0,"=")+1)}' "$desktop" | tr -d '\n' | sed "s/%.$//")
 exec $bin