Blame


1 b35d34ae 2022-12-28 op --- /usr/local/bin/mless Tue Oct 25 14:26:22 2022
2 b35d34ae 2022-12-28 op +++ news Fri Nov 25 16:18:08 2022
3 b35d34ae 2022-12-28 op @@ -1,23 +1,13 @@
4 b35d34ae 2022-12-28 op #!/bin/sh
5 b35d34ae 2022-12-28 op -# mless [MSG] - less(1)-wrapper around mshow
6 b35d34ae 2022-12-28 op +# news - less(1) around mshow for my rss feeds
7 b35d34ae 2022-12-28 op
8 b35d34ae 2022-12-28 op -colorscan() {
9 b35d34ae 2022-12-28 op -awk '
10 b35d34ae 2022-12-28 op -function co(n, c) { e = ENVIRON["MCOLOR_" n]; return e ? e : c }
11 b35d34ae 2022-12-28 op -function fg(c, s) { return sprintf("\033[38;5;%03dm%s\033[0m", c, s) }
12 b35d34ae 2022-12-28 op -function so(s) { return sprintf("\033[1m%s\033[0m", s) }
13 b35d34ae 2022-12-28 op -/^>/ { print so(fg(co("CUR",119), $0)); next }
14 b35d34ae 2022-12-28 op -/^ *\\_/ { print fg(co("MISS",242), $0); next }
15 b35d34ae 2022-12-28 op -{ print }'
16 b35d34ae 2022-12-28 op -}
17 b35d34ae 2022-12-28 op +# use a custom mblaze env
18 b35d34ae 2022-12-28 op +mkdir -p ~/.mblaze/news
19 b35d34ae 2022-12-28 op +export MBLAZE=~/.mblaze/news
20 b35d34ae 2022-12-28 op
21 b35d34ae 2022-12-28 op -if [ -n "${NO_COLOR+set}" ]; then
22 b35d34ae 2022-12-28 op - colorscan() { cat -; }
23 b35d34ae 2022-12-28 op -fi
24 b35d34ae 2022-12-28 op -
25 b35d34ae 2022-12-28 op if [ "$1" = --filter ]; then
26 b35d34ae 2022-12-28 op if [ "$2" = //scan ]; then
27 b35d34ae 2022-12-28 op - mscan : 2>/dev/null | colorscan
28 b35d34ae 2022-12-28 op + mscan : 2>/dev/null
29 b35d34ae 2022-12-28 op exit $?
30 b35d34ae 2022-12-28 op fi
31 b35d34ae 2022-12-28 op
32 b35d34ae 2022-12-28 op @@ -31,7 +21,7 @@
33 b35d34ae 2022-12-28 op $((total - 1))) mscan .-4:.+1 ;;
34 b35d34ae 2022-12-28 op $total) mscan .-5:.+0 ;;
35 b35d34ae 2022-12-28 op *) mscan .-2:.+3 ;;
36 b35d34ae 2022-12-28 op - esac 2>/dev/null | colorscan
37 b35d34ae 2022-12-28 op + esac 2>/dev/null
38 b35d34ae 2022-12-28 op echo
39 b35d34ae 2022-12-28 op
40 b35d34ae 2022-12-28 op if ! [ -f "$(mseq -r "$2")" ]; then
41 b35d34ae 2022-12-28 op @@ -85,6 +75,10 @@
42 b35d34ae 2022-12-28 op elif [ -f "$HOME/.mless" ]; then
43 b35d34ae 2022-12-28 op export LESSKEY="$HOME/.mless"
44 b35d34ae 2022-12-28 op fi
45 b35d34ae 2022-12-28 op +
46 b35d34ae 2022-12-28 op +MAILFEEDS_DIR="${MAILFEEDS_DIR:-$HOME/Maildir/op/rss}"
47 b35d34ae 2022-12-28 op +mlist -st "$MAILFEEDS_DIR" | mthread -r | mseq -S
48 b35d34ae 2022-12-28 op +
49 b35d34ae 2022-12-28 op while :; do
50 b35d34ae 2022-12-28 op LESSOPEN="|$0 --filter %s" \
51 b35d34ae 2022-12-28 op less -Ps"mless %f?m (message %i of %m).." -R \
52 b35d34ae 2022-12-28 op @@ -96,6 +90,12 @@
53 b35d34ae 2022-12-28 op ;;
54 b35d34ae 2022-12-28 op 78) # N go to next unseen message
55 b35d34ae 2022-12-28 op nu=$(magrep -v -m1 :S .:) && mseq -C "$nu"
56 b35d34ae 2022-12-28 op + ;;
57 b35d34ae 2022-12-28 op + 79) # O open the news
58 b35d34ae 2022-12-28 op + url="$(mhdr -h X-Rssgo-Email)"
59 b35d34ae 2022-12-28 op + if [ $? -eq 0 -a -n "$url" ]; then
60 b35d34ae 2022-12-28 op + xdg-open "$url"
61 b35d34ae 2022-12-28 op + fi
62 b35d34ae 2022-12-28 op ;;
63 b35d34ae 2022-12-28 op 107) # k next thread
64 b35d34ae 2022-12-28 op mseq -C "$(mseq .+1: | sed -n '/^[^ <]/{p;q;}')"