From 55e0623821056bff17bc4e214c881a7717cfc89b Mon Sep 17 00:00:00 2001 From: zawz Date: Fri, 22 May 2020 01:58:22 +0200 Subject: [PATCH] zdesktop: minor changes --- zdesktop/zdesktop | 80 +++++++++++++++++++---------------------------- 1 file changed, 33 insertions(+), 47 deletions(-) diff --git a/zdesktop/zdesktop b/zdesktop/zdesktop index aafedf0..8465419 100755 --- a/zdesktop/zdesktop +++ b/zdesktop/zdesktop @@ -1,25 +1,17 @@ #!/bin/sh fname="$(basename "$0")" - -ERR=0 - usage() { - echo "$fname [options] " - echo ' + echo "$fname Operations: gen [bin_file...] Generate a desktop file - add Add desktop file to applications - -Options: -' + add Add desktop file to applications" } gen_file() { unset name - if [ -n "$1" ] then file="$1" @@ -31,9 +23,7 @@ gen_file() fi desktop_file=$(echo "$name.desktop" | tr '[:upper:]' '[:lower:]') - if [ -f "$desktop_file" ] ; then - mv "$desktop_file" "$desktop_file.bak" || return $? - fi + [ -f "$desktop_file" ] && { mv "$desktop_file" "$desktop_file.bak" || return $?; } cat > "$desktop_file" << EOF [Desktop Entry] @@ -51,44 +41,40 @@ add_file() { if [ -f "$1" ] then - ln -s "$(pwd)/$1" "$HOME/.local/share/applications" + ln -sf "$(pwd)/$1" "$HOME/.local/share/applications" else echo "'$1' is not a file" > /dev/stderr return 1 fi } -if [ $# -le 0 ] -then - usage - exit 1 -fi +[ $# -le 0 ] && { usage && exit 1; } -if [ "$1" = "gen" ] ; then - if [ $# -gt 1 ] - then - shift $((OPTIND)) - for N - do - gen_file "$N" - done - else - gen_file || ERR=$? - fi -elif [ "$1" = "add" ] ; then - - if [ $# -gt 1 ] - then - shift $((OPTIND)) - for N - do - add_file "$N" || ERR=$? - done - else - echo "$fname gen " > /dev/stderr - exit 1 - fi - -fi - -exit $ERR +case $1 in + gen) + if [ $# -gt 1 ] + then + shift $((OPTIND)) + for N + do + gen_file "$N" || exit $? + done + else + gen_file || exit $? + fi + ;; + add) + if [ $# -gt 1 ] + then + shift $((OPTIND)) + for N + do + add_file "$N" || exit $? + done + else + echo "$fname add " > /dev/stderr + exit 1 + fi + ;; + *) usage && exit 1;; +esac