From 0e835364f5cf8fc11d69a2d679ba190dec8487fe Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Tue, 4 Aug 2020 01:02:11 +0300 Subject: [PATCH] keys --- README | 3 +++ shfm | 32 +++++++++++++++++++++++++++++--- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/README b/README index 4a5ee9c..83c82db 100644 --- a/README +++ b/README @@ -41,6 +41,9 @@ G - go to bottom q - quit : - cd to / - search current directory ** +- - go to last directory +~ - go home +! - spawn shell opener diff --git a/shfm b/shfm index 9a8a4b2..56ad01f 100755 --- a/shfm +++ b/shfm @@ -109,6 +109,7 @@ main() { set -e esc_char=$(printf '\033') + bs_char=$(printf '\177') cd "${1:-"$PWD"}" set -- * @@ -166,7 +167,7 @@ main() { esac ;; - l?|C2) # ARROW RIGHT + l?|C2|"$esc") # ARROW RIGHT if cd "$cur"; then set -- * y=1 y2=1 @@ -179,7 +180,7 @@ main() { redraw "$@" ;; - h?|D2) # ARROW LEFT + h?|D2|"$bs_char"?) # ARROW LEFT old_pwd=$PWD case $search in @@ -217,12 +218,37 @@ main() { prompt / r set -- *"$ans"* - y=1 y2=1 cur=$1 search=1 redraw "$@" status_line "search: $ans ($y/$#)" ;; + -?) + cd "$OLDPWD" >/dev/null 2>&1|| continue + + set -- * + y=1 y2=1 cur=$1 + redraw "$@" + ;; + + \~?) + cd || continue + + set -- * + y=1 y2=1 cur=$1 + redraw "$@" + ;; + + \!?) + export SHFM_LEVEL + SHFM_LEVEL=$((SHFM_LEVEL + 1)) + + term_reset + "${SHELL:=/bin/sh}" + term_setup + redraw "$@" + ;; + q?) exit 0 ;;