From d0e9ac3cd29b08b390f5367eee6df078a1633639 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=84min=20Baumeler?= Date: Thu, 31 Jul 2025 21:16:17 +0200 Subject: [PATCH] ctrl-a: goto artist --- src/awk/releases.awk | 5 ----- src/main.sh | 24 ++++++++++++++---------- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/awk/releases.awk b/src/awk/releases.awk index b0c7d78..98cc7e0 100644 --- a/src/awk/releases.awk +++ b/src/awk/releases.awk @@ -2,7 +2,6 @@ BEGIN { OFS="\t" } { id = $1 - print ">>"id"<<" >> "/tmp/foo" status = $2 year = substr($3, 1, 4) + 0 year = year == 0 ? "" : year @@ -32,10 +31,6 @@ BEGIN { OFS="\t" } line = line "\t" release_format_title else line = line "\t" - if (artist != rg_artist) - print "artist not rg_artist: "artist"!="rg_artist >> "/tmp/foo" - if (title != rg_title) - print "title not rg_title: "title"!="rg_title >> "/tmp/foo" sub("<>", line_status, line) sub("<>", year, line) diff --git a/src/main.sh b/src/main.sh index adacf33..d664bb3 100755 --- a/src/main.sh +++ b/src/main.sh @@ -233,9 +233,9 @@ while true; do --prompt="$(printf "$ARTIST_PROMPT" "$name")" \ --accept-nth="{2}" \ --with-nth="{1}" \ - --bind="load:transform:[ \"\$FZF_TOTAL_COUNT\" -gt 0 ] && echo \"rebind(ctrl-h)+rebind(ctrl-l)\" || echo \"unbind(ctrl-h)+unbind(ctrl-l)\"" \ + --expect="ctrl-h,ctrl-a" \ + --bind="load:transform:[ \"\$FZF_TOTAL_COUNT\" -gt 0 ] && echo \"rebind:ctrl-l\" || echo \"unbind:ctrl-l)\"" \ --bind="ctrl-l:accept" \ - --bind="ctrl-h:print(prev)+accept" \ --bind="alt-b:execute-silent:xdg-open 'https://musicbrainz.org/release-group/{r2}' &" \ --bind="alt-1:change-query(!$secsymb ),alt-2:change-query($secsymb )" \ --bind="ctrl-d:half-page-down,ctrl-u:half-page-up" \ @@ -244,8 +244,10 @@ while true; do lns=$(echo "$sel" | wc -l) key=$(echo "$sel" | head -1 | tail -1) mid=$(echo "$sel" | head -2 | tail -1) - [ "$lns" -eq 1 ] && [ "$mid" ] && set -- "--show-releasegroup" "$mid" - [ "$lns" -eq 2 ] && [ "$key" = "prev" ] && set -- "" + echo "lns=$lns;key=$key;mid=$mid" >>/tmp/foo + [ "$lns" -eq 2 ] && [ ! "$key" ] && [ "$mid" ] && set -- "--show-releasegroup" "$mid" + [ "$lns" -eq 2 ] && [ "$key" = "ctrl-h" ] && set -- "" + [ "$lns" -eq 2 ] && [ "$key" = "ctrl-a" ] && set -- "--select-artist" "$(mb_releasegroup "$mid" | $JQ -r '."artist-credit"')" ;; "--show-releasegroup") title="$(mb_releasegroup "$2" | @@ -264,17 +266,18 @@ while true; do --prompt="$(printf "$FULL_PROMPT" "$artist" "$title")" \ --accept-nth="{2}" \ --with-nth="{1}" \ - --bind="load:transform:[ \"\$FZF_TOTAL_COUNT\" -gt 0 ] && echo \"rebind(ctrl-h)+rebind(ctrl-l)\" || echo \"unbind(ctrl-h)+unbind(ctrl-l)\"" \ + --expect="ctrl-h,ctrl-a" \ + --bind="load:transform:[ \"\$FZF_TOTAL_COUNT\" -gt 0 ] && echo \"rebind:ctrl-l\" || echo \"unbind:ctrl-l\"" \ --bind="ctrl-l:accept" \ - --bind="ctrl-h:print(prev)+accept" \ --bind="alt-b:execute-silent:xdg-open 'https://musicbrainz.org/release/{r2}' &" \ --bind="ctrl-d:half-page-down,ctrl-u:half-page-up" ) lns=$(echo "$sel" | wc -l) key=$(echo "$sel" | head -1 | tail -1) mid=$(echo "$sel" | head -2 | tail -1) - [ "$lns" -eq 1 ] && [ "$mid" ] && set -- "--show-release" "$mid" - [ "$lns" -eq 2 ] && [ "$key" = "prev" ] && set -- "--select-artist" "$(mb_releasegroup "$2" | $JQ -r '."artist-credit"')" + [ "$lns" -eq 2 ] && [ ! "$key" ] && [ "$mid" ] && set -- "--show-release" "$mid" + [ "$lns" -eq 2 ] && [ "$key" = "ctrl-h" ] && set -- "--select-artist" "$(mb_releasegroup "$2" | $JQ -r '."artist-credit"')" + [ "$lns" -eq 2 ] && [ "$key" = "ctrl-a" ] && set -- "--select-artist" "$(mb_release "$mid" | $JQ -r '."artist-credit"')" ;; "--show-release") title="$(mb_release "$2" | @@ -292,14 +295,15 @@ while true; do --prompt="$(printf "$FULL_PROMPT" "$artist" "$title")" \ --accept-nth="{2}" \ --with-nth="{1}" \ - --bind="ctrl-h:print(prev)+accept" \ + --expect="ctrl-h,ctrl-a" \ --bind="alt-b:execute-silent:xdg-open 'https://musicbrainz.org/track/{r2}' &" \ --bind="ctrl-d:half-page-down,ctrl-u:half-page-up" ) lns=$(echo "$sel" | wc -l) key=$(echo "$sel" | head -1 | tail -1) mid=$(echo "$sel" | head -2 | tail -1) - [ "$lns" -eq 2 ] && [ "$key" = "prev" ] && set -- "--show-releasegroup" "$(mb_release "$2" | $JQ -r '."release-group".id')" + [ "$lns" -eq 2 ] && [ "$key" = "ctrl-h" ] && set -- "--show-releasegroup" "$(mb_release "$2" | $JQ -r '."release-group".id')" + [ "$lns" -eq 2 ] && [ "$key" = "ctrl-a" ] && set -- "--select-artist" "$(mb_release "$2" | $JQ -r ".media[].tracks[] | select(.id==\"$mid\") | .\"artist-credit\"")" ;; "--select-artist") sel=$(