bugfix: multiple keys support
This commit is contained in:
80
src/main.sh
80
src/main.sh
@@ -231,15 +231,16 @@ if [ "${1:-}" = "--fzf-change" ]; then
|
||||
fi
|
||||
|
||||
if [ "${1:-}" = "--fzf-key" ]; then
|
||||
foo "KEY: $*"
|
||||
foo "KEY: $*; FZF_KEY=$FZF_KEY"
|
||||
mbid="${2:-}"
|
||||
path="${3:-}"
|
||||
mode=$(cut -d "#" -f 1 "$MODEFILE")
|
||||
args=$(cut -d "#" -f 2- "$MODEFILE")
|
||||
|
||||
case ",$FZF_KEY," in
|
||||
*",$KEYS_PLAY,"*)
|
||||
[ "$path" ] && case "$mode" in
|
||||
case ",$KEYS_PLAY," in
|
||||
*",$FZF_KEY,"*)
|
||||
[ "$path" ] || exit 0
|
||||
case "$mode" in
|
||||
"$MODE_RELEASEGROUP")
|
||||
tmplist=$(mktemp)
|
||||
generate_playlist "$mbid" "$path" >"$tmplist"
|
||||
@@ -251,8 +252,11 @@ if [ "${1:-}" = "--fzf-key" ]; then
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*",$KEYS_QUEUE,"*)
|
||||
[ "$path" ] && case "$mode" in
|
||||
esac
|
||||
case ",$KEYS_QUEUE," in
|
||||
*",$FZF_KEY,"*)
|
||||
[ "$path" ] || exit 0
|
||||
case "$mode" in
|
||||
"$MODE_RELEASEGROUP")
|
||||
tmplist=$(mktemp)
|
||||
generate_playlist "$mbid" "$path" >"$tmplist"
|
||||
@@ -264,20 +268,38 @@ if [ "${1:-}" = "--fzf-key" ]; then
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*",$KEYS_TOGGLE_PLAY_PAUSE,"*) mpv_toggle_pause >/dev/null ;;
|
||||
*",$KEYS_PLAY_NEXT,"*) [ "$path" ] && mpv_next >/dev/null ;;
|
||||
*",$KEYS_PLAY_PREV,"*) [ "$path" ] && mpv_prev >/dev/null ;;
|
||||
*",$KEYS_SEEK_FORWARD,"*) mpv_seek_forward >/dev/null ;;
|
||||
*",$KEYS_SEEK_BACKWARD,"*) mpv_seek_backward >/dev/null ;;
|
||||
*",$KEYS_HALFPAGE_DOWN,"*) printf "half-page-down" ;;
|
||||
*",$KEYS_HALFPAGE_UP,"*) printf "half-page-up" ;;
|
||||
*",$KEYS_FILTER_LOCAL,"*)
|
||||
esac
|
||||
case ",$KEYS_TOGGLE_PLAY_PAUSE," in
|
||||
*",$FZF_KEY,"*) mpv_toggle_pause >/dev/null ;;
|
||||
esac
|
||||
case ",$KEYS_PLAY_NEXT," in
|
||||
*",$FZF_KEY,"*) [ "$path" ] && mpv_next >/dev/null ;;
|
||||
esac
|
||||
case ",$KEYS_PLAY_PREV," in
|
||||
*",$FZF_KEY,"*) [ "$path" ] && mpv_prev >/dev/null ;;
|
||||
esac
|
||||
case ",$KEYS_SEEK_FORWARD," in
|
||||
*",$FZF_KEY,"*) mpv_seek_forward >/dev/null ;;
|
||||
esac
|
||||
case ",$KEYS_SEEK_BACKWARD," in
|
||||
*",$FZF_KEY,"*) mpv_seek_backward >/dev/null ;;
|
||||
esac
|
||||
case ",$KEYS_HALFPAGE_DOWN," in
|
||||
*",$FZF_KEY,"*) printf "half-page-down" ;;
|
||||
esac
|
||||
case ",$KEYS_HALFPAGE_UP," in
|
||||
*",$FZF_KEY,"*) printf "half-page-up" ;;
|
||||
esac
|
||||
case ",$KEYS_FILTER_LOCAL," in
|
||||
*",$FZF_KEY,"*)
|
||||
case "$mode" in
|
||||
"$MODE_SEARCH_ARTIST" | "$MODE_SEARCH_ALBUM") ;;
|
||||
*) QUERY="$FORMAT_LOCAL " ;;
|
||||
esac
|
||||
;;
|
||||
*",$KEYS_SWITCH_ARTIST_ALBUM,"*)
|
||||
esac
|
||||
case ",$KEYS_SWITCH_ARTIST_ALBUM," in
|
||||
*",$FZF_KEY,"*)
|
||||
case "$mode" in
|
||||
"$MODE_SEARCH_ARTIST") MODE_NEXT="$MODE_SEARCH_ALBUM" ;;
|
||||
"$MODE_SEARCH_ALBUM") MODE_NEXT="$MODE_SEARCH_ARTIST" ;;
|
||||
@@ -285,7 +307,9 @@ if [ "${1:-}" = "--fzf-key" ]; then
|
||||
"$MODE_LIST_ALBUMS") MODE_NEXT="$MODE_LIST_ARTISTS" ;;
|
||||
esac
|
||||
;;
|
||||
*",$KEYS_SWITCH_LOCAL_REMOTE,"*)
|
||||
esac
|
||||
case ",$KEYS_SWITCH_LOCAL_REMOTE," in
|
||||
*",$FZF_KEY,"*)
|
||||
case "$mode" in
|
||||
"$MODE_SEARCH_ARTIST") MODE_NEXT="$MODE_LIST_ARTISTS" ;;
|
||||
"$MODE_SEARCH_ALBUM") MODE_NEXT="$MODE_LIST_ALBUMS" ;;
|
||||
@@ -293,7 +317,9 @@ if [ "${1:-}" = "--fzf-key" ]; then
|
||||
"$MODE_LIST_ALBUMS") MODE_NEXT="$MODE_SEARCH_ALBUM" ;;
|
||||
esac
|
||||
;;
|
||||
*",$KEYS_BROWSE,"*)
|
||||
esac
|
||||
case ",$KEYS_BROWSE," in
|
||||
*",$FZF_KEY,"*)
|
||||
[ "$mbid" ] || exit 0
|
||||
case "$mode" in
|
||||
"$MODE_SEARCH_ARTIST" | "$MODE_LIST_ARTISTS") urltype="artist" ;;
|
||||
@@ -303,7 +329,9 @@ if [ "${1:-}" = "--fzf-key" ]; then
|
||||
esac
|
||||
printf "execute-silent(xdg-open \"https://musicbrainz.org/%s/%s\" &)" "$urltype" "$mbid"
|
||||
;;
|
||||
*",$KEYS_OUT,"*)
|
||||
esac
|
||||
case ",$KEYS_OUT," in
|
||||
*",$FZF_KEY,"*)
|
||||
case "$mode" in
|
||||
"$MODE_ARTIST")
|
||||
MODE_NEXT="$MODE_LIST_ARTISTS"
|
||||
@@ -319,7 +347,9 @@ if [ "${1:-}" = "--fzf-key" ]; then
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*",$KEYS_IN,"*)
|
||||
esac
|
||||
case ",$KEYS_IN," in
|
||||
*",$FZF_KEY,"*)
|
||||
[ "$mbid" ] || exit 0
|
||||
MODE_NEXT_ARGS="$mbid"
|
||||
case "$mode" in
|
||||
@@ -334,7 +364,9 @@ if [ "${1:-}" = "--fzf-key" ]; then
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*",$KEYS_SELECT_ARTIST,"*)
|
||||
esac
|
||||
case ",$KEYS_SELECT_ARTIST," in
|
||||
*",$FZF_KEY,"*)
|
||||
[ "$mbid" ] || exit 0
|
||||
case "$mode" in
|
||||
"$MODE_ARTIST" | "$MODE_SEARCH_ARTIST" | "$MODE_LIST_ARTISTS")
|
||||
@@ -352,12 +384,16 @@ if [ "${1:-}" = "--fzf-key" ]; then
|
||||
esac
|
||||
[ "$MODE_NEXT_ARGS" ] && MODE_NEXT="$MODE_SELECT_ARTIST"
|
||||
;;
|
||||
*",$KEYS_FILTER_PRIMARY,"*)
|
||||
esac
|
||||
case ",$KEYS_FILTER_PRIMARY," in
|
||||
*",$FZF_KEY,"*)
|
||||
[ "$mode" = "$MODE_ARTIST" ] || exit 0
|
||||
secsymb="$(printf "$FORMAT_TYPE_HAS_SECONDARY" "")"
|
||||
QUERY="!$secsymb "
|
||||
;;
|
||||
*",$KEYS_FILTER_SECONDARY,"*)
|
||||
esac
|
||||
case ",$KEYS_FILTER_SECONDARY," in
|
||||
*",$FZF_KEY,"*)
|
||||
[ "$mode" = "$MODE_ARTIST" ] || exit 0
|
||||
secsymb="$(printf "$FORMAT_TYPE_HAS_SECONDARY" "")"
|
||||
QUERY="$secsymb "
|
||||
|
Reference in New Issue
Block a user