47 lines
918 B
Bash
47 lines
918 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
DMENU=$(dirname $0)/dmenu.sh
|
||
|
|
||
|
UP="[..]"
|
||
|
OPEN_EXPLORER="[Open Thunar here]"
|
||
|
OPEN_TERMINAL="[Open Terminal here]"
|
||
|
WIDTH=300
|
||
|
LINES=30
|
||
|
|
||
|
OPEN_CMD="xdg-open"
|
||
|
TERM_CMD="urxvt"
|
||
|
|
||
|
if [ -n "$1" ]; then
|
||
|
DIR=$1
|
||
|
else
|
||
|
DIR=$HOME
|
||
|
fi
|
||
|
|
||
|
while true; do
|
||
|
bname=$(basename "$DIR")
|
||
|
choice=$(
|
||
|
(
|
||
|
echo "$UP";
|
||
|
echo "$OPEN_EXPLORER";
|
||
|
echo "$OPEN_TERMINAL";
|
||
|
ls $DIR;
|
||
|
) | $DMENU -i
|
||
|
)
|
||
|
if [ -z "$choice" ]; then
|
||
|
exit 1
|
||
|
elif [ "$choice" == "$UP" ]; then
|
||
|
DIR=$(dirname $DIR)
|
||
|
elif [ "$choice" == "$OPEN_EXPLORER" ]; then
|
||
|
($OPEN_CMD "$DIR" &) &
|
||
|
exit 0
|
||
|
elif [ "$choice" == "$OPEN_TERMINAL" ]; then
|
||
|
( cd $DIR; $TERM_CMD &) &
|
||
|
exit 0
|
||
|
elif [ -f "$DIR/$choice" ]; then
|
||
|
($OPEN_CMD "$DIR/$choice" &) &
|
||
|
exit 0
|
||
|
elif [ -d "$DIR/$choice" ]; then
|
||
|
DIR=$DIR/$choice
|
||
|
fi
|
||
|
done
|