From 87a41be6de4e5274fa44aa9650543a1eac8a0451 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=84min=20Baumeler?= Date: Wed, 11 Jun 2025 16:09:34 +0200 Subject: [PATCH] reload instead of become --- src/main.sh | 43 +++++++++++++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/src/main.sh b/src/main.sh index b56aa67..0a0af2c 100755 --- a/src/main.sh +++ b/src/main.sh @@ -570,17 +570,34 @@ fi DISPLAY_DATE=${DISPLAY_DATE:-today} DISPLAY_DATE=$(date -d "$DISPLAY_DATE" +"%D") +DISPLAY_POS=$((8 - $(date -d "$DISPLAY_DATE" +"%u"))) if [ "${1:-}" = "--list" ]; then + if [ -n "$3" ]; then + DISPLAY_DATE="$2 $3" + else + DISPLAY_DATE="today" + fi + echo "$DISPLAY_DATE" >>/tmp/xyz + DISPLAY_POS=$((8 - $(date -d "$DISPLAY_DATE" +"%u"))) + __list + exit +fi + +if [ "${1:-}" = "--list-prev-day" ]; then + DISPLAY_DATE="$2 -1 days" + DISPLAY_POS=$((8 - $(date -d "$DISPLAY_DATE" +"%u"))) + __list + exit +fi + +if [ "${1:-}" = "--list-next-day" ]; then + DISPLAY_DATE="$2 +7 days" + DISPLAY_POS=$((8 - $(date -d "$DISPLAY_DATE" +"%u"))) __list exit fi -DISPLAY_POS=$((8 - $(date -d "$DISPLAY_DATE" +"%u"))) -DISPLAY_DATE_PREV=$(date -d "$DISPLAY_DATE -1 week" +"%D") -DISPLAY_DATE_NEXT=$(date -d "$DISPLAY_DATE +1 week" +"%D") -DISPLAY_DATE_PREV_MONTH=$(date -d "$DISPLAY_DATE -1 month" +"%D") -DISPLAY_DATE_NEXT_MONTH=$(date -d "$DISPLAY_DATE +1 month" +"%D") selection=$( __list | $FZF \ @@ -599,16 +616,22 @@ selection=$( --preview-window=up,7,border-bottom \ --preview="$0 --preview-week {}" \ --expect="ctrl-n" \ + --bind="ctrl-j:transform:[ \$FZF_POS -le 1 ] && + echo unbind\(load\)+reload:$0 --list-next-day {2} || + echo down" \ + --bind="ctrl-k:transform:[ \$FZF_POS -ge 7 ] && + echo unbind\(load\)+reload:$0 --list-prev-day {2} || + echo up" \ --bind="change:reload($0 --all)+hide-preview" \ --bind="backward-eof:reload($0 --list)+show-preview" \ --bind="load:pos($DISPLAY_POS)" \ - --bind="ctrl-u:become($0 --date '$DISPLAY_DATE_PREV')" \ - --bind="ctrl-d:become($0 --date '$DISPLAY_DATE_NEXT')" \ - --bind="ctrl-alt-u:become($0 --date '$DISPLAY_DATE_PREV_MONTH')" \ - --bind="ctrl-alt-d:become($0 --date '$DISPLAY_DATE_NEXT_MONTH')" \ + --bind="ctrl-u:reload:$0 --list {2} '-1 week'" \ + --bind="ctrl-d:reload:$0 --list {2} '+1 week'" \ + --bind="ctrl-alt-u:reload:$0 --list {2} '-1 month'" \ + --bind="ctrl-alt-d:reload:$0 --list {2} '+1 month'" \ --bind="ctrl-s:execute($SYNC_CMD ; printf 'Press to continue.'; read -r tmp)" \ --bind="ctrl-g:become($0 --goto)" \ - --bind="ctrl-l:become($0)" + --bind="ctrl-l:rebind(load)+reload:$0 --list" ) key=$(echo "$selection" | head -1)