scripts

Various scripts for UNIX-like systems
git clone https://git.tronto.net/scripts
Download | Log | Files | Refs | README

commit 55384b992b17ffb2a2d0b36ae8dd251c788ff71a
parent 68898198058898bf6df880106adfabe9cd2704c6
Author: Sebastiano Tronto <sebastiano.tronto@gmail.com>
Date:   Mon, 29 Nov 2021 17:07:03 +0100

Fixed opening multiple files with spaces in name

Diffstat:
Mopen-file | 54+++++++++++++++++++++++++++++++++---------------------
1 file changed, 33 insertions(+), 21 deletions(-)

diff --git a/open-file b/open-file @@ -18,27 +18,9 @@ sheet=${SPREADSHEET:-libreoffice} html=${HTMLVIEWER:-firefox} xedit=${XEDITOR:-gedit} -while getopts "s:t:" opt; do - case "$opt" in - s) - launcher="$OPTARG" - ;; - t) - mimetype="$OPTARG" - ;; - esac -done +openfile() { + f="$@" -# If launcher = "", assume running in terminal, so some programs change -#if [ -z "$launcher" ]; then -# xedit=${EDITOR:-vi} -#fi - -shift `expr $OPTIND - 1` -toopen=$@ -[ -z "$toopen" ] && toopen=$(dmenu-filepicker) - -for f in $toopen; do [ ! -f "$f" ] && echo "$f: bad argument" && exit 1 [ -z "$mimetype" ] && localmime="$(file --mime-type "$f" -bL)" @@ -91,8 +73,38 @@ for f in $toopen; do esac if [ -n "$prog" ]; then - $launcher $prog "$f" & + $launcher $prog "$f" else exit 1 fi +} + +while getopts "s:t:" opt; do + case "$opt" in + s) + launcher="$OPTARG" + ;; + t) + mimetype="$OPTARG" + ;; + esac done + +# If launcher = "", assume running in terminal, so some programs change +#if [ -z "$launcher" ]; then +# xedit=${EDITOR:-vi} +#fi + +shift `expr $OPTIND - 1` +toopen=$@ + +if [ -n "$1" ]; then + while [ -n "$1" ]; do + openfile "$1" & + shift + done +else + dmenu-filepicker | while read line; do + openfile "$line" & + done +fi