m040601 / handlers

handlers and pipes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

handlers and pipes

ago 22

https://github.com/aaronamk/scripts/blob/main/omni-open.sh

#!/bin/sh
# Author: aaronamk
# simpler, easier, and faster than xdg-open

[ "$1" ] || exit # exit if no file provided

ext=$(printf "$1" | rev | cut -d "." -f 1 | rev | tr '[:upper:]' '[:lower:]')
case "$ext" in
  "raw")  setsid imv         "$1" ;;
  "png")  setsid imv         "$1" ;;
  "jpg")  setsid imv         "$1" ;;
  "jpeg") setsid imv         "$1" ;;
  "gif")  setsid imv         "$1" ;;
  "bmp")  setsid imv         "$1" ;;
  "tiff") setsid imv         "$1" ;;
  "wav")  mpv                "$1" ;;
  "flac") mpv                "$1" ;;
  "opus") mpv                "$1" ;;
  "ogg")  mpv                "$1" ;;
  "mp3")  mpv                "$1" ;;
  "m4a")  mpv                "$1" ;;
  "mp4")  setsid mpv         "$1" ;;
  "avi")  setsid mpv         "$1" ;;
  "mov")  setsid mpv         "$1" ;;
  "flv")  setsid mpv         "$1" ;;
  "mkv")  setsid mpv         "$1" ;;
  "wmv")  setsid mpv         "$1" ;;
  "webm") setsid mpv         "$1" ;;
  "pdf")  setsid zathura     "$1" ;;
  "odt")  setsid libreoffice "$1" ;;
  "docx") setsid libreoffice "$1" ;;
  "html") setsid firefox     "$1" ;;
  "gz")   setsid file-roller "$1" ;;
  "tar")  setsid file-roller "$1" ;;
  "zip")  setsid file-roller "$1" ;;
  "gzip") setsid file-roller "$1" ;;
  "7z")   setsid file-roller "$1" ;;
  "rar")  setsid file-roller "$1" ;;
  *)      [ "$(file -b $1)" = "directory" ] && vifm "$1" || nvim "$1" ;;
esac

dec 21

lots of simple newsboat handlers, https://github.com/T3SQ8/dotfiles/blob/master/bin/.local/bin/openfeed-default

sep 21

https://github.com/khonsaloh/dots/ for newsboat


#!/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 no url given. Opens browser. For using script as $BROWSER.
[ -z "$1" ] && { "$BROWSER"; exit; }

case "$1" in
	*mkv|*webm|*mp4|*youtube.com/watch*|*youtube.com/playlist*|*youtu.be*|*hooktube.com*|*bitchute.com*|*videos.lukesmith.xyz*)
		setsid -f mpv -quiet "$1" >/dev/null 2>&1 ;;
	*png|*jpg|*jpe|*jpeg|*gif)
		curl -sL "$1" > "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" && sxiv -a "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")"  >/dev/null 2>&1 & ;;
	*pdf|*cbz|*cbr)
		curl -sL "$1" > "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" && zathura "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")"  >/dev/null 2>&1 & ;;
	*mp3|*flac|*opus|*mp3?source*)
		qndl "$1" 'curl -LO'  >/dev/null 2>&1 ;;
	*)
		[ -f "$1" ] && setsid -f "$TERMINAL" -e "$EDITOR" "$1" >/dev/null 2>&1 || setsid -f "$BROWSER" "$1" >/dev/null 2>&1
esac

may 21 more "linkhandlers

dotfiles/weblauncher at master · azimut/dotfiles

jan 21 gotbletu urlportal

https://github.com/gotbletu/dotfiles_v2/blob/master/normal_user/scripts/.scripts/urlportal

ago20 newsboat linkhandler (for macro links also)

https://github.com/nsklaus/dotfiles/blob/master/.local/bin/linkhandler

#!/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 no url given. Opens browser. For using script as $BROWSER.
[ -z "$1" ] && { "$BROWSER"; exit; }

case "$1" in
	*mkv|*webm|*mp4|*youtube.com/watch*|*invidio.us/watch*|*youtube.com/playlist*|*youtu.be*|*hooktube.com*|*bitchute.com*)
		setsid -f mpv -quiet "$1" >/dev/null 2>&1 ;;
	*png|*jpg|*jpe|*jpeg|*gif)
		curl -sL "$1" > "/tmp/$(echo "$1" | sed "s/.*\///")" && sxiv -a "/tmp/$(echo "$1" | sed "s/.*\///")"  >/dev/null 2>&1 & ;;
	*mp3|*flac|*opus|*mp3?source*)
		setsid -f tsp curl -LO "$1" >/dev/null 2>&1 ;;
	*)
		if [ -f "$1" ]; then "$TERMINAL" -e "$EDITOR" "$1"
	else setsid -f "$BROWSER" "$1" >/dev/null 2>&1; fi ;;
esac

how to execute macro on a specific link ? · Issue #1118 · newsboat/newsboat newsboat/newsboat#1118

browser linkhandler
macro , open-in-browser
macro t set browser "qndl" ; open-in-browser ; set browser linkhandler
macro a set browser "tsp youtube-dl --add-metadata -xic -f bestaudio/best" ; 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 p set browser "dmenuhandler" ; open-in-browser ; set browser linkhandler
macro c set browser "xsel -b <<<" ; open-in-browser ; set browser linkhandler
macro C set browser "youtube-viewer --comments=%u" ; open-in-browser ; set browser linkhandler
macro d set browser "curl -LO %u" ; open-in-browser ; set browser linkhandler

jul2020 gotbletu 'urlportal'

https://github.com/gotbletu/shownotes/blob/master/urlportal.sh

apr2020 drew

Managing my dotfiles as a git repository | Drew DeVault’s Blog https://drewdevault.com/2019/12/30/dotfiles.html

#!/bin/sh
case "${1%%:*}" in
	http|https|*.pdf)
		exec qutebrowser "$1"
		;;
	mailto)
		exec aerc "$1"
		;;
	*)
		exec /usr/bin/xdg-open "$@"
		;;
esac

Replacing the needlessly annoying-to-customize xdg-open with one that just does what I want, falling back to /usr/bin/xdg-open if necessary. Many other non-shadowed scripts and programs are found in ~/bin as well.

About

handlers and pipes


Languages

Language:Shell 99.7%Language:Python 0.3%