77 lines
2.1 KiB
Bash
Executable File
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" " $OPENDIR,xdg-open \"${DIRECTORY:-/}\""
|
|
printf "%b\n" "<big></big> $OPENTERM,${terminal} ${wdir}\"${DIRECTORY:-/}\""
|
|
|
|
if [ ${#dirs[@]} -ne 0 ]; then
|
|
printf "%b\n" "^sep($DIRECTORIES <small>(${#dirs[@]})</small>)"
|
|
printf "%s\n" "${dirs[@]/&/&}"
|
|
fi
|
|
if [ ${#files[@]} -ne 0 ]; then
|
|
printf "%b\n" "^sep($FILES <small>(${#files[@]})</small>)"
|
|
#printf "%s\n" "${files[@]}"
|
|
#okfiles=("${files[@]/</ <}")
|
|
printf "%s\n" "${files[@]/&/&}"
|
|
fi
|
|
|