Created
July 29, 2020 17:09
-
-
Save zyocum/f0286761fbfa7b8dad789265e5085ce1 to your computer and use it in GitHub Desktop.
Custom Terminal UI for Reddit mailcap for macOS
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Example mailcap file for Terminal UI for Reddit | |
# https://gitlab.com/ajak/tuir/ | |
# | |
# Copy the contents of this file to {HOME}/.mailcap, or point to it using $MAILCAPS | |
# Then launch TUIR using the --enable-media flag. All shell commands defined in | |
# this file depend on external programs that must be installed on your system. | |
# | |
# HELP REQUESTED! If you come up with your own commands (especially for OS X) | |
# and would like to share, please post an issue on the GitHub tracker and we | |
# can get them added to this file as references. | |
# | |
# | |
# Mailcap 101 | |
# - The first entry with a matching MIME type will be executed, * is a wildcard | |
# - %s will be replaced with the image or video url | |
# - Add ``test=test -n "$DISPLAY"`` if your command opens a new window | |
# - Add ``needsterminal`` for commands that use the terminal | |
# - Add ``copiousoutput`` for commands that dump text to stdout | |
############################################################################### | |
# Commands below this point will open media in a separate window without | |
# pausing execution of TUIR. | |
############################################################################### | |
# Feh is a simple and effective image viewer | |
# Note that tuir returns a list of urls for imgur albums, so we don't put quotes | |
# around the `%s` | |
#image/x-imgur-album; feh -g 640x480 %s; test=test -n "$DISPLAY" | |
image/x-imgur-album; open -a Safari %s; test=test -n "$DISPLAY" | |
#image/gif; mpv '%s' --autofit 640x480 --loop=inf; test=test -n "$DISPLAY" | |
#image/gif; open -a Safari '%s'; test=test -n "$DISPLAY" | |
image/gif; open -a 'QuickTime Player' '%s'#; test=test -n "$DISPLAY" | |
#image/*; feh -g 640x480 '%s'; test=test -n "$DISPLAY" | |
# Youtube videos are assigned a custom mime-type, which can be streamed with | |
# vlc or youtube-dl. | |
#video/x-youtube; vlc '%s' --width 640 --height 480#; test=test -n "$DISPLAY" | |
#video/x-youtube; mpv --ytdl-format=best '%s' --autofit 640x480#; test=test -n "$DISPLAY" | |
#video/x-youtube; open -a 'Quicktime Player' '%s'#; test=test -n "$DISPLAY" | |
video/x-youtube; youtube-dl -g -f 'best[ext=mp4]/best' '%s' | xargs open -a 'QuickTime Player'#; test=test -n "$DISPLAY" | |
# Mpv is a simple and effective video streamer | |
#video/*; mpv '%s' --autofit 640x480 --loop=inf; test=test -n "$DISPLAY" | |
video/*; open -a 'Quicktime Player' '%s'#; test=test -n "$DISPLAY" | |
############################################################################### | |
# Commands below this point will attempt to display media directly in the | |
# terminal when a desktop is not available (e.g. inside of an SSH session) | |
############################################################################### | |
# View images directly in your terminal with iTerm2 | |
# curl -L https://iterm2.com/misc/install_shell_integration_and_utilities.sh | bash | |
# image/*; bash -c '[[ "%s" == http* ]] && (curl -s %s | ~/.iterm2/imgcat) || ~/.iterm2/imgcat %s' && read -n 1; needsterminal | |
# View true images in the terminal, supported by rxvt-unicode, xterm and st | |
# Requires the w3m-img package | |
# image/*; w3m -o 'ext_image_viewer=off' '%s'; needsterminal | |
# Don't have a solution for albums yet | |
#image/x-imgur-album; echo | |
# 256 color images using half-width unicode characters | |
# Much higher quality that img2txt, but must be built from source | |
# https://github.com/rossy/img2xterm | |
#image/*; curl -s '%s' | convert -resize 80x80 - jpg:/tmp/tuir.jpg && img2xterm /tmp/tuir.jpg; needsterminal; copiousoutput | |
# Display images in classic ascii using img2txt and lib-caca | |
#image/*; curl -s '%s' | convert - jpg:/tmp/tuir.jpg && img2txt -f utf8 /tmp/tuir.jpg; needsterminal; copiousoutput | |
#image/*; curl -s '%s' | convert -resize 80X80 - jpg:"$TMPDIR"tuir.jpg && img2txt --width=80 -f utf8 "$TMPDIR"tuir.jpg; needsterminal; copiousoutput | |
# Full motion videos - requires a framebuffer to view | |
#video/x-youtube; mpv -vo drm -quiet '%s'; needsterminal | |
#video/*; mpv -vo drm -quiet '%s'; needsterminal | |
# Ascii videos | |
# video/x-youtube; youtube-dl -q -o - '%s' | mplayer -cache 8192 -vo caca -quiet -; needsterminal | |
# video/*; wget '%s' -O - | mplayer -cache 8192 -vo caca -quiet -; needsterminal |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment