diff --git a/src/main.sh b/src/main.sh index 816b608..66a58c4 100755 --- a/src/main.sh +++ b/src/main.sh @@ -376,15 +376,15 @@ mpv_start # argument: string # The argument is stored in $FZF_LIST_LABEL. To set the argument, call # `change-list-label($arg)`. -IN_NORMAL_MODE="[ \"\$FZF_INPUT_STATE\" = \"hidden\" ]" -IN_VIEW_PATTERN="[ \"\$FZF_BORDER_LABEL\" = \"%s\" ]" +IN_NORMAL_MODE="[ \$FZF_INPUT_STATE = hidden ]" +IN_VIEW_PATTERN="[ \$FZF_BORDER_LABEL = %s ]" IN_LIST_ARTISTS_VIEW="$(printf "$IN_VIEW_PATTERN" "$VIEW_LIST_ARTISTS")" IN_LIST_ALBUMS_VIEW="$(printf "$IN_VIEW_PATTERN" "$VIEW_LIST_ALBUMS")" IN_SEARCH_ARTIST_VIEW="$(printf "$IN_VIEW_PATTERN" "$VIEW_SEARCH_ARTIST")" IN_SEARCH_ALBUM_VIEW="$(printf "$IN_VIEW_PATTERN" "$VIEW_SEARCH_ALBUM")" FZF_CURRENT_MODE="\$FZF_INPUT_STATE" FZF_CURRENT_VIEW="\$FZF_BORDER_LABEL" -PUT_FZF_KEY_LOGIC="case \"\$FZF_KEY\" in \"space\") echo \"put( )\";; \"left\") echo \"backward-char\";; \"right\") echo \"forward-char\";; \"backspace\"|\"bspace\"|\"bs\") echo \"backward-delete-char\";; \"delete\"|\"del\") echo \"delete-char\";; *) echo \"put(\$FZF_KEY)\";; esac" +PUT_FZF_KEY_LOGIC="case \$FZF_KEY in space) echo \"put( )\";; left) echo backward-char;; right) echo forward-char;; backspace|bspace|bs) echo backward-delete-char;; delete|del) echo delete-char;; *) echo \"put(\$FZF_KEY)\";; esac" while true; do case "$VIEW" in "$VIEW_SELECT_ARTIST") @@ -450,16 +450,16 @@ $KEYS_FILTER_LOCAL:transform:$0 --fzf-key {2} {3} {4}" \ --header-first \ --header-border="bottom" \ --bind="start:transform:$0 --draw $MODE $VIEW $MBID" \ - --bind="$KEYS_I_NORMAL:transform:$IN_NORMAL_MODE || echo \"hide-input\"" \ - --bind="$KEYS_N_INSERT:transform:$IN_NORMAL_MODE && echo \"show-input\" || $PUT_FZF_KEY_LOGIC" \ + --bind="$KEYS_I_NORMAL:transform:$IN_NORMAL_MODE || echo hide-input" \ + --bind="$KEYS_N_INSERT:transform:$IN_NORMAL_MODE && echo show-input || $PUT_FZF_KEY_LOGIC" \ --bind="$KEYS_DOWN:down" \ --bind="$KEYS_UP:up" \ --bind="$KEYS_HALFPAGE_DOWN:half-page-down" \ --bind="$KEYS_HALFPAGE_UP:half-page-up" \ - --bind="$KEYS_N_DOWN:transform:$IN_NORMAL_MODE && echo \"down\" || $PUT_FZF_KEY_LOGIC" \ - --bind="$KEYS_N_UP:transform:$IN_NORMAL_MODE && echo \"up\" || $PUT_FZF_KEY_LOGIC" \ - --bind="$KEYS_N_BOT:transform:$IN_NORMAL_MODE && echo \"last\" || $PUT_FZF_KEY_LOGIC" \ - --bind="$KEYS_N_TOP:transform:$IN_NORMAL_MODE && echo \"first\" || $PUT_FZF_KEY_LOGIC" \ + --bind="$KEYS_N_DOWN:transform:$IN_NORMAL_MODE && echo down || $PUT_FZF_KEY_LOGIC" \ + --bind="$KEYS_N_UP:transform:$IN_NORMAL_MODE && echo up || $PUT_FZF_KEY_LOGIC" \ + --bind="$KEYS_N_BOT:transform:$IN_NORMAL_MODE && echo last || $PUT_FZF_KEY_LOGIC" \ + --bind="$KEYS_N_TOP:transform:$IN_NORMAL_MODE && echo first || $PUT_FZF_KEY_LOGIC" \ --bind="$KEYS_IN:transform:[ {3} ] && $0 --draw $FZF_CURRENT_MODE $FZF_CURRENT_VIEW {3} \"+1\"" \ --bind="$KEYS_OUT:transform:[ {2} ] && $0 --draw $FZF_CURRENT_MODE $FZF_CURRENT_VIEW {2} \"-1\"" \ --bind="$KEYS_N_IN:transform:$IN_NORMAL_MODE && ([ {3} ] && $0 --draw $FZF_CURRENT_MODE $FZF_CURRENT_VIEW {3} \"+1\") || $PUT_FZF_KEY_LOGIC" \ @@ -469,26 +469,26 @@ $KEYS_FILTER_LOCAL:transform:$0 --fzf-key {2} {3} {4}" \ --bind="$KEYS_LIST_ALBUMS:transform:$0 --draw \$FZF_INPUT_STATE $VIEW_LIST_ALBUMS" \ --bind="$KEYS_SEARCH_ARTIST:transform:$0 --draw $MODE_INSERT $VIEW_SEARCH_ARTIST" \ --bind="$KEYS_SEARCH_ALBUM:transform:$0 --draw $MODE_INSERT $VIEW_SEARCH_ALBUM" \ - --bind="$KEYS_SWITCH_ARTIST_ALBUM:transform:case \"$FZF_CURRENT_VIEW\" in -\"$VIEW_LIST_ARTISTS\") $0 --draw $FZF_CURRENT_MODE $VIEW_LIST_ALBUMS ;; -\"$VIEW_LIST_ALBUMS\") $0 --draw $FZF_CURRENT_MODE $VIEW_LIST_ARTISTS ;; -\"$VIEW_SEARCH_ARTIST\") $0 --draw $MODE_INSERT $VIEW_SEARCH_ALBUM ;; -\"$VIEW_SEARCH_ALBUM\") $0 --draw $MODE_INSERT $VIEW_SEARCH_ARTIST ;; + --bind="$KEYS_SWITCH_ARTIST_ALBUM:transform:case $FZF_CURRENT_VIEW in +$VIEW_LIST_ARTISTS) $0 --draw $FZF_CURRENT_MODE $VIEW_LIST_ALBUMS ;; +$VIEW_LIST_ALBUMS) $0 --draw $FZF_CURRENT_MODE $VIEW_LIST_ARTISTS ;; +$VIEW_SEARCH_ARTIST) $0 --draw $MODE_INSERT $VIEW_SEARCH_ALBUM ;; +$VIEW_SEARCH_ALBUM) $0 --draw $MODE_INSERT $VIEW_SEARCH_ARTIST ;; esac" \ - --bind="$KEYS_SWITCH_LOCAL_REMOTE:transform:case \"$FZF_CURRENT_VIEW\" in -\"$VIEW_LIST_ARTISTS\") $0 --draw $MODE_INSERT $VIEW_SEARCH_ARTIST ;; -\"$VIEW_LIST_ALBUMS\") $0 --draw $MODE_INSERT $VIEW_SEARCH_ALBUM ;; -\"$VIEW_SEARCH_ARTIST\") $0 --draw $MODE_NORMAL $VIEW_LIST_ARTISTS ;; -\"$VIEW_SEARCH_ALBUM\") $0 --draw $MODE_NORMAL $VIEW_LIST_ALBUMS ;; + --bind="$KEYS_SWITCH_LOCAL_REMOTE:transform:case $FZF_CURRENT_VIEW in +$VIEW_LIST_ARTISTS) $0 --draw $MODE_INSERT $VIEW_SEARCH_ARTIST ;; +$VIEW_LIST_ALBUMS) $0 --draw $MODE_INSERT $VIEW_SEARCH_ALBUM ;; +$VIEW_SEARCH_ARTIST) $0 --draw $MODE_NORMAL $VIEW_LIST_ARTISTS ;; +$VIEW_SEARCH_ALBUM) $0 --draw $MODE_NORMAL $VIEW_LIST_ALBUMS ;; esac" \ --bind="$KEYS_FILTER:transform:$0 --filter $FZF_CURRENT_MODE $FZF_CURRENT_VIEW" \ --bind="$KEYS_BROWSE:execute-silent: [ {3} ] || exit 0 -case \"\$FZF_BORDER_LABEL\" in - \"$VIEW_LIST_ARTISTS\" | \"$VIEW_SEARCH_ARTIST\") t=\"artist\" ;; - \"$VIEW_ARTIST\" | \"$VIEW_SEARCH_ALBUM\" | \"$VIEW_LIST_ALBUMS\") t=\"release-group\" ;; - \"$VIEW_RELEASEGROUP\") t=\"release\" ;; - \"$VIEW_RELEASE\") t=\"track\" ;; +case \$FZF_BORDER_LABEL in + $VIEW_LIST_ARTISTS | $VIEW_SEARCH_ARTIST) t=artist ;; + $VIEW_ARTIST | $VIEW_SEARCH_ALBUM | $VIEW_LIST_ALBUMS) t=release-group ;; + $VIEW_RELEASEGROUP) t=release ;; + $VIEW_RELEASE) t=track ;; esac open \"https://musicbrainz.org/\$t/{r3}\"" \ --bind="$KEYS_OPEN:execute-silent: