diff options
| author | Mike Vink <mike1994vink@gmail.com> | 2023-06-25 22:59:54 +0200 |
|---|---|---|
| committer | Mike Vink <mike1994vink@gmail.com> | 2023-06-25 22:59:54 +0200 |
| commit | 7293411a0ff343101ebe0724900c1c5fac75b645 (patch) | |
| tree | b326a73c064d5dfe663ba72be4976130af2dbd46 | |
| parent | 5c5520a55aac8cd2244699cfa0e7fd57b88959f6 (diff) | |
yank some stuff from lukesmit
| -rw-r--r-- | home/newsboat.nix | 67 | ||||
| -rw-r--r-- | shell-scripts/linkhandler | 26 |
2 files changed, 72 insertions, 21 deletions
diff --git a/home/newsboat.nix b/home/newsboat.nix index 3b67c0f..4b9b2fd 100644 --- a/home/newsboat.nix +++ b/home/newsboat.nix @@ -22,36 +22,61 @@ {url = "https://istio.io/latest/blog/feed.xml";} ]; extraConfig = '' - # general settings - cleanup-on-quit no - max-items 100 + #show-read-feeds no + auto-reload yes - # unbind keys - unbind-key ENTER - unbind-key j - unbind-key k - unbind-key J - unbind-key K + external-url-viewer "urlscan -dc -r 'linkhandler {}'" - # bind keys - vim style bind-key j down bind-key k up + bind-key j next articlelist + bind-key k prev articlelist + bind-key J next-feed articlelist + bind-key K prev-feed articlelist + bind-key G end + bind-key g home + bind-key d pagedown + bind-key u pageup bind-key l open bind-key h quit + bind-key a toggle-article-read + bind-key n next-unread + bind-key N prev-unread + bind-key D pb-download + bind-key U show-urls + bind-key x pb-delete - # solarized - color background default default - color listnormal default default - color listnormal_unread default default - color listfocus black cyan - color listfocus_unread black cyan - color info default black - color article default default + color listnormal cyan default + color listfocus black yellow standout bold + color listnormal_unread blue default + color listfocus_unread yellow default bold + color info red black bold + color article white default bold - # highlights + browser linkhandler + macro , open-in-browser + macro t set browser "qndl" ; open-in-browser ; set browser linkhandler + macro a set browser "tsp yt-dlp --embed-metadata -xic -f bestaudio/best --restrict-filenames" ; open-in-browser ; set browser linkhandler + macro v set browser "setsid -f mpv" ; open-in-browser ; set browser linkhandler + macro w set browser "lynx" ; open-in-browser ; set browser linkhandler + macro d set browser "dmenuhandler" ; open-in-browser ; set browser linkhandler + macro c set browser "echo %u | xclip -r -sel c" ; open-in-browser ; set browser linkhandler + macro C set browser "youtube-viewer --comments=%u" ; open-in-browser ; set browser linkhandler + macro p set browser "peertubetorrent %u 480" ; open-in-browser ; set browser linkhandler + macro P set browser "peertubetorrent %u 1080" ; open-in-browser ; set browser linkhandler + + highlight all "---.*---" yellow + highlight feedlist ".*(0/0))" black + highlight article "(^Feed:.*|^Title:.*|^Author:.*)" cyan default bold + highlight article "(^Link:.*|^Date:.*)" default default + highlight article "https?://[^ ]+" green default highlight article "^(Title):.*$" blue default - highlight article "https?://[^ ]+" red default - highlight article "\\[image\\ [0-9]+\\]" green default + highlight article "\\[[0-9][0-9]*\\]" magenta default bold + highlight article "\\[image\\ [0-9]+\\]" green default bold + highlight article "\\[embedded flash: [0-9][0-9]*\\]" green default bold + highlight article ":.*\\(link\\)$" cyan default + highlight article ":.*\\(image\\)$" blue default + highlight article ":.*\\(embedded flash\\)$" magenta default ''; }; } diff --git a/shell-scripts/linkhandler b/shell-scripts/linkhandler new file mode 100644 index 0000000..f62b581 --- /dev/null +++ b/shell-scripts/linkhandler @@ -0,0 +1,26 @@ +#!/bin/sh + +# Feed script a url or file location. +# If an image, it will view in sxiv, +# if a video or gif, it will view in mpv +# if a music file or pdf, it will download, +# otherwise it opens link in browser. + +if [ -z "$1" ]; then + url="$(xclip -o)" +else + url="$1" +fi + +case "$url" in + *mkv|*webm|*mp4|*youtube.com/watch*|*youtube.com/playlist*|*youtube.com/shorts*|*youtu.be*|*hooktube.com*|*bitchute.com*|*videos.lukesmith.xyz*|*odysee.com*) + setsid -f mpv -quiet "$url" >/dev/null 2>&1 ;; + *png|*jpg|*jpe|*jpeg|*gif) + curl -sL "$url" > "/tmp/$(echo "$url" | sed "s/.*\///;s/%20/ /g")" && sxiv -a "/tmp/$(echo "$url" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 & ;; + *pdf|*cbz|*cbr) + curl -sL "$url" > "/tmp/$(echo "$url" | sed "s/.*\///;s/%20/ /g")" && zathura "/tmp/$(echo "$url" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 & ;; + *mp3|*flac|*opus|*mp3?source*) + qndl "$url" 'curl -LO' >/dev/null 2>&1 ;; + *) + [ -f "$url" ] && setsid -f "$TERMINAL" -e "$EDITOR" "$url" >/dev/null 2>&1 || setsid -f "$BROWSER" "$url" >/dev/null 2>&1 +esac |
