zdesktop: minor changes

This commit is contained in:
zawz 2020-05-22 01:58:22 +02:00
parent a9992d2877
commit 55e0623821

View file

@ -1,25 +1,17 @@
#!/bin/sh #!/bin/sh
fname="$(basename "$0")" fname="$(basename "$0")"
ERR=0
usage() usage()
{ {
echo "$fname [options] <operation>" echo "$fname <operation>
echo '
Operations: Operations:
gen [bin_file...] Generate a desktop file gen [bin_file...] Generate a desktop file
add <desktop_file...> Add desktop file to applications add <desktop_file...> Add desktop file to applications"
Options:
'
} }
gen_file() gen_file()
{ {
unset name unset name
if [ -n "$1" ] if [ -n "$1" ]
then then
file="$1" file="$1"
@ -31,9 +23,7 @@ gen_file()
fi fi
desktop_file=$(echo "$name.desktop" | tr '[:upper:]' '[:lower:]') desktop_file=$(echo "$name.desktop" | tr '[:upper:]' '[:lower:]')
if [ -f "$desktop_file" ] ; then [ -f "$desktop_file" ] && { mv "$desktop_file" "$desktop_file.bak" || return $?; }
mv "$desktop_file" "$desktop_file.bak" || return $?
fi
cat > "$desktop_file" << EOF cat > "$desktop_file" << EOF
[Desktop Entry] [Desktop Entry]
@ -51,44 +41,40 @@ add_file()
{ {
if [ -f "$1" ] if [ -f "$1" ]
then then
ln -s "$(pwd)/$1" "$HOME/.local/share/applications" ln -sf "$(pwd)/$1" "$HOME/.local/share/applications"
else else
echo "'$1' is not a file" > /dev/stderr echo "'$1' is not a file" > /dev/stderr
return 1 return 1
fi fi
} }
if [ $# -le 0 ] [ $# -le 0 ] && { usage && exit 1; }
then
usage
exit 1
fi
if [ "$1" = "gen" ] ; then case $1 in
if [ $# -gt 1 ] gen)
then if [ $# -gt 1 ]
shift $((OPTIND)) then
for N shift $((OPTIND))
do for N
gen_file "$N" do
done gen_file "$N" || exit $?
else done
gen_file || ERR=$? else
fi gen_file || exit $?
elif [ "$1" = "add" ] ; then fi
;;
if [ $# -gt 1 ] add)
then if [ $# -gt 1 ]
shift $((OPTIND)) then
for N shift $((OPTIND))
do for N
add_file "$N" || ERR=$? do
done add_file "$N" || exit $?
else done
echo "$fname gen <desktop_file...>" > /dev/stderr else
exit 1 echo "$fname add <desktop_file...>" > /dev/stderr
fi exit 1
fi
fi ;;
*) usage && exit 1;;
exit $ERR esac