keybinding help in all views
This commit is contained in:
26
src/main.sh
26
src/main.sh
@@ -274,7 +274,7 @@ case "${1:-}" in
|
|||||||
[ "$q" ] && q="$q "
|
[ "$q" ] && q="$q "
|
||||||
printf "show-input+change-query(%s)" "$q"
|
printf "show-input+change-query(%s)" "$q"
|
||||||
# Store current state
|
# Store current state
|
||||||
printf "+change-border-label(%s)+change-list-label(%s)" "$view" "$mbid"
|
printf "+change-list-label(%s)" "$view"
|
||||||
# Set header
|
# Set header
|
||||||
fzf_command_set_header "$view" "$mbid"
|
fzf_command_set_header "$view" "$mbid"
|
||||||
# Set preview window
|
# Set preview window
|
||||||
@@ -486,17 +486,17 @@ mpv_start
|
|||||||
# mode, we call `hide-input`. To switch to insert mode, we call `show-input`.
|
# mode, we call `hide-input`. To switch to insert mode, we call `show-input`.
|
||||||
#
|
#
|
||||||
# view: [$VIEW_*]
|
# view: [$VIEW_*]
|
||||||
# The view is stored in $FZF_BORDER_LABEL. To set the view, call
|
# The view is stored in $FZF_LIST_LABEL. To set the view, call
|
||||||
# `change-border-label($VIEW)`.
|
# `change-list-label($VIEW)`.
|
||||||
#
|
#
|
||||||
# argument: string
|
# argument: string
|
||||||
# The argument is stored in $FZF_LIST_LABEL. To set the argument, call
|
# The argument is stored in $FZF_LIST_LABEL. To set the argument, call
|
||||||
# `change-list-label($arg)`.
|
# `change-list-label($arg)`.
|
||||||
IN_NORMAL_MODE="[ \$FZF_INPUT_STATE = hidden ]"
|
IN_NORMAL_MODE="[ \$FZF_INPUT_STATE = hidden ]"
|
||||||
IN_VIEW_PATTERN="[ \$FZF_BORDER_LABEL = %s ]"
|
IN_VIEW_PATTERN="[ \$FZF_LIST_LABEL = %s ]"
|
||||||
IN_LIST_ARTISTS_VIEW="$(printf "$IN_VIEW_PATTERN" "$VIEW_LIST_ARTISTS")"
|
IN_LIST_ARTISTS_VIEW="$(printf "$IN_VIEW_PATTERN" "$VIEW_LIST_ARTISTS")"
|
||||||
FZF_CURRENT_MODE="\$FZF_INPUT_STATE"
|
FZF_CURRENT_MODE="\$FZF_INPUT_STATE"
|
||||||
FZF_CURRENT_VIEW="\$FZF_BORDER_LABEL"
|
FZF_CURRENT_VIEW="\$FZF_LIST_LABEL"
|
||||||
FZF_RELOAD_PLAYLIST="reload-sync($0 --lines $VIEW_PLAYLIST)"
|
FZF_RELOAD_PLAYLIST="reload-sync($0 --lines $VIEW_PLAYLIST)"
|
||||||
FZF_POS_PLAYLIST="transform:$0 --action-playlistcursor"
|
FZF_POS_PLAYLIST="transform:$0 --action-playlistcursor"
|
||||||
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"
|
||||||
@@ -517,6 +517,11 @@ while true; do
|
|||||||
--bind="$KEYS_SEARCH_ALBUM:print($VIEW_SEARCH_ALBUM)+accept" \
|
--bind="$KEYS_SEARCH_ALBUM:print($VIEW_SEARCH_ALBUM)+accept" \
|
||||||
--bind="$KEYS_BROWSE:execute-silent:open \"https://musicbrainz.org/artist/{r3}\"" \
|
--bind="$KEYS_BROWSE:execute-silent:open \"https://musicbrainz.org/artist/{r3}\"" \
|
||||||
--bind="$KEYS_SHOW_PLAYLIST:print($VIEW_PLAYLIST)+print()+accept" \
|
--bind="$KEYS_SHOW_PLAYLIST:print($VIEW_PLAYLIST)+print()+accept" \
|
||||||
|
--bind="$KEYS_KEYBINDINGS:preview:$0 --show-keybindings $VIEW_SELECT_ARTIST" \
|
||||||
|
--bind="$KEYS_SCROLL_PREVIEW_DOWN:preview-down" \
|
||||||
|
--bind="$KEYS_SCROLL_PREVIEW_UP:preview-up" \
|
||||||
|
--bind="$KEYS_PREVIEW_OPEN:show-preview" \
|
||||||
|
--bind="$KEYS_PREVIEW_CLOSE:hide-preview" \
|
||||||
-0 -1 \
|
-0 -1 \
|
||||||
--border="bold" \
|
--border="bold" \
|
||||||
--border-label="Select artist" \
|
--border-label="Select artist" \
|
||||||
@@ -561,6 +566,12 @@ while true; do
|
|||||||
--bind="$KEYS_SEARCH_ALBUM:print($VIEW_SEARCH_ALBUM)+accept" \
|
--bind="$KEYS_SEARCH_ALBUM:print($VIEW_SEARCH_ALBUM)+accept" \
|
||||||
--bind="$KEYS_BROWSE:execute-silent:open \"https://musicbrainz.org/\track/{r3}\"" \
|
--bind="$KEYS_BROWSE:execute-silent:open \"https://musicbrainz.org/\track/{r3}\"" \
|
||||||
--bind="$KEYS_OPEN:execute-silent:open \"\$(dirname {4})\"" \
|
--bind="$KEYS_OPEN:execute-silent:open \"\$(dirname {4})\"" \
|
||||||
|
--bind="$KEYS_N_YANK:execute-silent:printf {3} | $CLIP)" \
|
||||||
|
--bind="$KEYS_YANK_CURRENT:execute-silent:printf {2} | $CLIP" \
|
||||||
|
--bind="$KEYS_KEYBINDINGS:preview:$0 --show-keybindings $VIEW_PLAYLIST" \
|
||||||
|
--bind="$KEYS_SCROLL_PREVIEW_DOWN:preview-down" \
|
||||||
|
--bind="$KEYS_SCROLL_PREVIEW_UP:preview-up" \
|
||||||
|
--bind="$KEYS_PREVIEW_CLOSE:hide-preview" \
|
||||||
--bind="$KEYS_PLAYBACK,$KEYS_N_PLAYBACK:transform($0 --playback $VIEW_PLAYLIST {2} {3} {4})+$FZF_RELOAD_PLAYLIST+$FZF_POS_PLAYLIST" \
|
--bind="$KEYS_PLAYBACK,$KEYS_N_PLAYBACK:transform($0 --playback $VIEW_PLAYLIST {2} {3} {4})+$FZF_RELOAD_PLAYLIST+$FZF_POS_PLAYLIST" \
|
||||||
--bind="$KEYS_PLAYLIST_RELOAD:$FZF_RELOAD_PLAYLIST+$FZF_POS_PLAYLIST" \
|
--bind="$KEYS_PLAYLIST_RELOAD:$FZF_RELOAD_PLAYLIST+$FZF_POS_PLAYLIST" \
|
||||||
--bind="$KEYS_PLAYLIST_REMOVE:execute-silent($0 --playlist $PLAYLIST_CMD_REMOVE)+$FZF_RELOAD_PLAYLIST" \
|
--bind="$KEYS_PLAYLIST_REMOVE:execute-silent($0 --playlist $PLAYLIST_CMD_REMOVE)+$FZF_RELOAD_PLAYLIST" \
|
||||||
@@ -598,7 +609,7 @@ while true; do
|
|||||||
# `$PUT_FZF_KEY_LOGIC` for details.
|
# `$PUT_FZF_KEY_LOGIC` for details.
|
||||||
#
|
#
|
||||||
# Here is a list of all keys grouped by type (see `src/sh/keys.sh`).
|
# Here is a list of all keys grouped by type (see `src/sh/keys.sh`).
|
||||||
#--bind="start:change-border-label($VIEW)+change-list-label($MBID)+$MODE-input+transform:$0 --display" \
|
#--bind="start:change-list-label($VIEW)+change-list-label($MBID)+$MODE-input+transform:$0 --display" \
|
||||||
sel=$(
|
sel=$(
|
||||||
printf "" | $FZF \
|
printf "" | $FZF \
|
||||||
--reverse \
|
--reverse \
|
||||||
@@ -640,7 +651,7 @@ esac" \
|
|||||||
--bind="$KEYS_FILTER:transform:$0 --action-filter $FZF_CURRENT_MODE $FZF_CURRENT_VIEW" \
|
--bind="$KEYS_FILTER:transform:$0 --action-filter $FZF_CURRENT_MODE $FZF_CURRENT_VIEW" \
|
||||||
--bind="$KEYS_BROWSE:execute-silent:
|
--bind="$KEYS_BROWSE:execute-silent:
|
||||||
[ {3} ] || exit 0
|
[ {3} ] || exit 0
|
||||||
case \$FZF_BORDER_LABEL in
|
case $FZF_CURRENT_VIEW in
|
||||||
$VIEW_LIST_ARTISTS | $VIEW_SEARCH_ARTIST) t=artist ;;
|
$VIEW_LIST_ARTISTS | $VIEW_SEARCH_ARTIST) t=artist ;;
|
||||||
$VIEW_ARTIST | $VIEW_SEARCH_ALBUM | $VIEW_LIST_ALBUMS) t=release-group ;;
|
$VIEW_ARTIST | $VIEW_SEARCH_ALBUM | $VIEW_LIST_ALBUMS) t=release-group ;;
|
||||||
$VIEW_RELEASEGROUP) t=release ;;
|
$VIEW_RELEASEGROUP) t=release ;;
|
||||||
@@ -662,6 +673,7 @@ open \"\$(dirname {4})\"" \
|
|||||||
--bind="$KEYS_PREVIEW_CLOSE:hide-preview" \
|
--bind="$KEYS_PREVIEW_CLOSE:hide-preview" \
|
||||||
--bind="$KEYS_PLAYBACK:transform:$0 --playback $FZF_CURRENT_VIEW {2} {3} {4}" \
|
--bind="$KEYS_PLAYBACK:transform:$0 --playback $FZF_CURRENT_VIEW {2} {3} {4}" \
|
||||||
--bind="$KEYS_N_PLAYBACK:transform:$IN_NORMAL_MODE && $0 --playback $FZF_CURRENT_VIEW {2} {3} {4} || $PUT_FZF_KEY_LOGIC" \
|
--bind="$KEYS_N_PLAYBACK:transform:$IN_NORMAL_MODE && $0 --playback $FZF_CURRENT_VIEW {2} {3} {4} || $PUT_FZF_KEY_LOGIC" \
|
||||||
|
--bind="W:execute-silent:echo 1 >> /tmp/foo; echo $FZF_CURRENT_VIEW >> /tmp/foo; echo 2 >> /tmp/foo" \
|
||||||
--bind="change:execute-silent($0 --mbsearch $FZF_CURRENT_VIEW &)+reload:$0 --lines $FZF_CURRENT_VIEW" \
|
--bind="change:execute-silent($0 --mbsearch $FZF_CURRENT_VIEW &)+reload:$0 --lines $FZF_CURRENT_VIEW" \
|
||||||
--preview-window="right,25%,border-left,wrap,<30(hidden)" \
|
--preview-window="right,25%,border-left,wrap,<30(hidden)" \
|
||||||
--preview="$0 --preview $FZF_CURRENT_VIEW {3}" \
|
--preview="$0 --preview $FZF_CURRENT_VIEW {3}" \
|
||||||
|
@@ -232,8 +232,77 @@ __keybindinggroup_from_args() {
|
|||||||
print_keybindings() {
|
print_keybindings() {
|
||||||
view=$1
|
view=$1
|
||||||
case "$view" in
|
case "$view" in
|
||||||
"$VIEW_SELECT_ARTIST") ;;
|
"$VIEW_SELECT_ARTIST")
|
||||||
"$VIEW_PLAYLIST") ;;
|
__keybindinggroup_from_args "Previews" \
|
||||||
|
"$KEYS_SCROLL_PREVIEW_DOWN" "Scroll preview down" \
|
||||||
|
"$KEYS_SCROLL_PREVIEW_UP" "Scroll preview up" \
|
||||||
|
"$KEYS_KEYBINDINGS" "Show these keybindings" \
|
||||||
|
"$KEYS_PREVIEW_OPEN" "Open preview window" \
|
||||||
|
"$KEYS_PREVIEW_CLOSE" "Close preview window"
|
||||||
|
__keybindinggroup_from_args "Navigation" \
|
||||||
|
"$KEYS_DOWN" "Down" \
|
||||||
|
"$KEYS_UP" "Up" \
|
||||||
|
"$KEYS_HALFPAGE_DOWN" "Down half a page" \
|
||||||
|
"$KEYS_HALFPAGE_UP" "Up half a page" \
|
||||||
|
"enter,$KEYS_IN" "Go to selected artist" \
|
||||||
|
"$KEYS_OUT,$KEYS_QUIT" "Return to previews view"
|
||||||
|
__keybindinggroup_from_args "Views" \
|
||||||
|
"$KEYS_LIST_ARTISTS" "Display artists in local database" \
|
||||||
|
"$KEYS_LIST_ALBUMS" "Display albums in local database" \
|
||||||
|
"$KEYS_SEARCH_ARTIST" "Show artist on MusicBrainz" \
|
||||||
|
"$KEYS_SEARCH_ALBUM" "Show album on MusicBrainz"
|
||||||
|
__keybindinggroup_from_args "Special operations" \
|
||||||
|
"$KEYS_SHOW_PLAYLIST" "Show playlist" \
|
||||||
|
"$KEYS_BROWSE" "Open artist in browser"
|
||||||
|
__keybindinggroup_from_args "Filtering" \
|
||||||
|
"$KEYS_FILTER_LOCAL" "Show only entries in local database"
|
||||||
|
;;
|
||||||
|
"$VIEW_PLAYLIST")
|
||||||
|
__keybindinggroup_from_args "Previews" \
|
||||||
|
"$KEYS_SCROLL_PREVIEW_DOWN" "Scroll preview down" \
|
||||||
|
"$KEYS_SCROLL_PREVIEW_UP" "Scroll preview up" \
|
||||||
|
"$KEYS_KEYBINDINGS" "Show these keybindings" \
|
||||||
|
"$KEYS_PREVIEW_CLOSE" "Close preview window"
|
||||||
|
__keybindinggroup_from_args "Navigation" \
|
||||||
|
"$KEYS_DOWN,$KEYS_N_DOWN" "Down" \
|
||||||
|
"$KEYS_UP,$KEYS_N_UP" "Up" \
|
||||||
|
"$KEYS_HALFPAGE_DOWN" "Down half a page" \
|
||||||
|
"$KEYS_HALFPAGE_UP" "Up half a page" \
|
||||||
|
"$KEYS_N_TOP" "Go to first entry" \
|
||||||
|
"$KEYS_N_BOT" "Go to last entry" \
|
||||||
|
"$KEYS_OUT,$KEYS_N_OUT,$KEYS_QUIT,$KEYS_N_QUIT" "Leave playlist view" \
|
||||||
|
"$KEYS_SELECT_ARTIST" "Go to artist of selected item"
|
||||||
|
__keybindinggroup_from_args "Views" \
|
||||||
|
"$KEYS_LIST_ARTISTS" "Display artists in local database" \
|
||||||
|
"$KEYS_LIST_ALBUMS" "Display albums in local database" \
|
||||||
|
"$KEYS_SEARCH_ARTIST" "Show artist on MusicBrainz" \
|
||||||
|
"$KEYS_SEARCH_ALBUM" "Show album on MusicBrainz"
|
||||||
|
__keybindinggroup_from_args "Playlist" \
|
||||||
|
"$KEYS_PLAYLIST_RELOAD" "Reload playlist" \
|
||||||
|
"$KEYS_PLAYLIST_REMOVE" "Remove selected track" \
|
||||||
|
"$KEYS_PLAYLIST_UP" "Move track up" \
|
||||||
|
"$KEYS_PLAYLIST_DOWN" "Move track down" \
|
||||||
|
"$KEYS_PLAYLIST_CLEAR" "Clear playlist" \
|
||||||
|
"$KEYS_PLAYLIST_CLEAR_ABOVE" "Remove all tracks above" \
|
||||||
|
"$KEYS_PLAYLIST_CLEAR_BELOW" "Remove all tracks below" \
|
||||||
|
"$KEYS_PLAYLIST_SHUFFLE" "Shuffle" \
|
||||||
|
"$KEYS_PLAYLIST_UNSHUFFLE" "Undo shuffle" \
|
||||||
|
"$KEYS_PLAYLIST_GOTO_RELEASE" "Show release of selected track"
|
||||||
|
__keybindinggroup_from_args "Playback" \
|
||||||
|
"$KEYS_PLAY,$KEYS_N_PLAY" "Play selected item" \
|
||||||
|
"$KEYS_QUEUE,$KEYS_N_QUEUE" "Queue selected item" \
|
||||||
|
"$KEYS_QUEUE_NEXT,$KEYS_N_QUEUE_NEXT" "Play selected item next" \
|
||||||
|
"$KEYS_TOGGLE_PLAYBACK,$KEYS_N_TOGGLE_PLAYBACK" "Toggle playback" \
|
||||||
|
"$KEYS_PLAY_NEXT,$KEYS_N_PLAY_NEXT" "Play next track" \
|
||||||
|
"$KEYS_PLAY_PREV,$KEYS_N_PLAY_PREV" "Play previous track" \
|
||||||
|
"$KEYS_SEEK_FORWARD,$KEYS_N_SEEK_FORWARD" "Seek forward" \
|
||||||
|
"$KEYS_SEEK_BACKWARD,$KEYS_N_SEEK_BACKWARD" "Seek backward"
|
||||||
|
__keybindinggroup_from_args "Special operations" \
|
||||||
|
"$KEYS_BROWSE" "Open selected item in browser" \
|
||||||
|
"$KEYS_OPEN" "Open selected item in file manager" \
|
||||||
|
"$KEYS_N_YANK" "Copy MusicBrainz track ID" \
|
||||||
|
"$KEYS_YANK_CURRENT" "Copy MusicBrainz release ID"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
__keybindinggroup_from_args "Switch between modes" \
|
__keybindinggroup_from_args "Switch between modes" \
|
||||||
"$KEYS_I_NORMAL" "Swtich to normal mode (insert)" \
|
"$KEYS_I_NORMAL" "Swtich to normal mode (insert)" \
|
||||||
|
Reference in New Issue
Block a user