Add sfeedmenu. - sfeed-tools - Sfeed helper scripts.
(HTM) git clone git://bitreich.org/sfeed-tools git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/sfeed-tools
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) Tags
(DIR) README
---
(DIR) commit 6625b04305bf19f598bcc15362e5010d98f2f8e6
(DIR) parent 85bba54e2b691991a27c13abb8e8df2788deea49
(HTM) Author: eidolon <?>
Date: Mon, 4 Nov 2024 18:16:30 -0500
Add sfeedmenu.
Signed-off-by: Christoph Lohmann <20h@r-36.net>
Diffstat:
A sfeedmenu | 39 +++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+), 0 deletions(-)
---
(DIR) diff --git a/sfeedmenu b/sfeedmenu
@@ -0,0 +1,39 @@
+#!/bin/sh
+# sfeedmenu with filter
+# by: eidolon
+
+filter() {
+ # filter read items and deduplicate items by url
+ LC_ALL=C awk -v urlfile="$urlfile" '
+ BEGIN { while (getline < urlfile > 0) r[$0] = 1 }
+ {
+ match($0, /[a-z]+:\/\//)
+ url = substr($0, RSTART)
+ if (!dedup[url]++ && !r[url])
+ print
+ }'
+}
+
+plumber=plumb
+feeddir="$HOME/.sfeed/feeds"
+urlfile="$HOME/.sfeed/urls"
+
+mkdir -p "$feeddir"
+
+[ -f "$urlfile" ] || : > "$urlfile"
+
+while IFS= read -r i; do
+ [ -n "$i" ] || exit 1
+
+ i=$(printf '%s\n' "$i" \
+ | sed -n 's,.* \([A-Za-z]*://\)\(.*\)$,\1\2,p')
+
+ printf '%s\n' "$i" >> "$urlfile"
+ "$plumber" "$i"
+done << _EOF
+$(sfeed_plain "$feeddir"/* \
+ | sed -n '/^N / s///p' \
+ | sort -rn \
+ | filter \
+ | dmenu -b -l 12)
+_EOF