diff options
Diffstat (limited to '.local/bin/sfeed_fzf')
-rwxr-xr-x | .local/bin/sfeed_fzf | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/.local/bin/sfeed_fzf b/.local/bin/sfeed_fzf new file mode 100755 index 0000000..5c432b8 --- /dev/null +++ b/.local/bin/sfeed_fzf @@ -0,0 +1,24 @@ +#!/bin/sh -eu + +config=$XDG_CONFIG_HOME/sfeed/sfeedrc +unread=$XDG_CONFIG_HOME/sfeed/unread +read=$XDG_CONFIG_HOME/sfeed/read +feeds=$XDG_CONFIG_HOME/sfeed/feeds + +touch "$read" + +sfeed_update "$config" || true + +sfeed_plain_function() { + sfeed_plain "$feeds"/* | + sed 's/^[N ]\+//g' | + sort --reverse | + grep --invert-match --fixed-strings --file "$read" > "$unread" +} + +sfeed_plain_function +fzf < "$unread" \ + --multi \ + --info hidden \ + --bind "enter:execute(firefox \$(echo {} | awk '{ print \$NF }'))" \ + --bind "ctrl-d:reload(echo {} >> $read && { sfeed_plain $feeds/* | sed 's/^[N ]\+//g' | sort --reverse | grep --invert-match --fixed-strings --file $read > $unread && cat $unread; })" |