mbxutils/bin/mbxdir

77 lines
2.1 KiB
Bash
Executable File

#!/usr/bin/env bash
# Daniel Napora 2021 <napcok@gmail.com>
. "$HOME"/.config/mbxutils/mbx.conf
ME=$(basename "$0")
case $LANG in
pl*)
DIRECTORIES="Katalogi"
FILES="Pliki"
OPENDIR="Otwórz w menadżerze plików"
OPENTERM="Otwórz w terminalu"
;;
es*)
DIRECTORIES="Directorios"
FILES="Archivos"
OPENDIR="Abrir Gestor de archivos aquí"
OPENTERM="Abrir terminal aquí"
;;
*)
DIRECTORIES="Directories"
FILES="Files"
OPENDIR="Open filemanager here"
OPENTERM="Open terminal here"
;;
esac
case "$terminal" in
lxterminal|gnome-terminal)
wdir="--working-directory=";;
qterminal|konsole)
wdir="--workdir ";;
*)
wdir="--working-directory ";;
esac
DIRECTORY=${1:-$HOME}
# If '$DIRECTORY' is '/', unset it to avoid '//'.
[[ $DIRECTORY == / ]] && DIRECTORY=
if [ "$show_hidden" == false ];then
for item in "$DIRECTORY"/*; do
if [[ -d $item ]]; then
dirs+=("${item##*/},^pipe($ME \"$DIRECTORY/${item##*/}\")")
else
if [[ -f $item ]]; then
files+=("${item##*/},xdg-open \"$DIRECTORY/${item##*/}\"")
fi
fi
done
else
for item in "$DIRECTORY"/* "$DIRECTORY"/.[^.]*; do
if [[ -d $item ]]; then
dirs+=("${item##*/},^pipe($ME \"$DIRECTORY/${item##*/}\")")
else
if [[ -f $item ]]; then
files+=("${item##*/},xdg-open \"$DIRECTORY/${item##*/}\"")
fi
fi
done
fi
printf "%b\n" "^sep(<small><i>${DIRECTORY:-/}</i></small>)"
printf "%b\n" "<big> <tt>◳</tt> </big> $OPENDIR,xdg-open \"${DIRECTORY:-/}\""
printf "%b\n" "<big> <tt>▶</tt> </big> $OPENTERM,${terminal} ${wdir}\"${DIRECTORY:-/}\""
if [ ${#dirs[@]} -ne 0 ]; then
printf "%b\n" "^sep($DIRECTORIES <small>(${#dirs[@]})</small>)"
printf "%s\n" "${dirs[@]/&/&amp;}"
fi
if [ ${#files[@]} -ne 0 ]; then
printf "%b\n" "^sep($FILES <small>(${#files[@]})</small>)"
#printf "%s\n" "${files[@]}"
#okfiles=("${files[@]/</ &lt;}")
printf "%s\n" "${files[@]/&/&amp;}"
fi