From dc7583bd6455451678f7665e4e9c24ffde852456 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 10 May 2017 21:07:48 +0200 Subject: [PATCH] added rtv settings --- firejail/.config/firejail/feh.profile | 21 ++++ mailcap/.mailcap | 62 +++++++++++ rtv/.config/rtv/rtv.cfg | 141 ++++++++++++++++++++++++++ 3 files changed, 224 insertions(+) create mode 100644 firejail/.config/firejail/feh.profile create mode 100644 mailcap/.mailcap create mode 100644 rtv/.config/rtv/rtv.cfg diff --git a/firejail/.config/firejail/feh.profile b/firejail/.config/firejail/feh.profile new file mode 100644 index 0000000..340247a --- /dev/null +++ b/firejail/.config/firejail/feh.profile @@ -0,0 +1,21 @@ +# feh image viewer profile +include /etc/firejail/disable-common.inc +include /etc/firejail/disable-programs.inc +include /etc/firejail/disable-devel.inc +include /etc/firejail/disable-passwdmgr.inc + +caps.drop all +seccomp +protocol unix,inet +netfilter +#net none +nonewprivs +noroot +nogroups +nosound +shell none + +private-bin feh +whitelist /tmp/.X11-unix +private-dev +private-etc feh,ld-so.cache,ld.so.preload,ssl,nsswitch,hosts.conf,resolv.conf diff --git a/mailcap/.mailcap b/mailcap/.mailcap new file mode 100644 index 0000000..c4a502a --- /dev/null +++ b/mailcap/.mailcap @@ -0,0 +1,62 @@ +# Example mailcap file for Reddit Terminal Viewer +# https://github.com/michael-lazar/rtv/ +# +# Copy the contents of this file to {HOME}/.mailcap, or point to using $MAILCAPS +# Then launch RTV 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 ``needstermial`` 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 RTV. +############################################################################### + +# Feh is a simple and effective image viewer +# Note that rtv 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/*; 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; youtube-dl -q -o - '%s' | mpv - --autofit 640x480; test=test -n "$DISPLAY" + +# Mpv is a simple and effective video streamer +video/webm; mpv '%s' --autofit 640x480 --loop=inf; test=test -n "$DISPLAY" +video/*; mpv '%s' --autofit 640x480 --loop=inf; test=test -n "$DISPLAY" + +############################################################################### +# Commands below this point will attempt to display media directly in the +# terminal when X is not available. +############################################################################### + +# 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/rtv.jpg && img2xterm /tmp/rtv.jpg; needsterminal; copiousoutput + +# Display images in classic ascii using img2txt and lib-caca +image/*; curl -s '%s' | convert - jpg:/tmp/rtv.jpg && img2txt -f utf8 /tmp/rtv.jpg; needsterminal; copiousoutput + +# 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 diff --git a/rtv/.config/rtv/rtv.cfg b/rtv/.config/rtv/rtv.cfg new file mode 100644 index 0000000..1252f9c --- /dev/null +++ b/rtv/.config/rtv/rtv.cfg @@ -0,0 +1,141 @@ +; Reddit Terminal Viewer Configuration File +; https://github.com/michael-lazar/rtv +; +; This file should be placed in $XDG_CONFIG/rtv/rtv.cfg +; If $XDG_CONFIG is not set, use ~/.config/rtv/rtv.cfg + +[rtv] +################## +# General Settings +################## + +; Turn on ascii-only mode to disable all unicode characters. +; This may be necessary for compatibility with some terminal browsers. +ascii = False + +; Turn on monochrome mode to disable color. +monochrome = False + +; Enable debugging by logging all HTTP requests and errors to the given file. +;log = /tmp/rtv.log + +; Default subreddit that will be opened when the program launches. +subreddit = front +;subreddit = python +;subreddit = python+linux+programming +;subreddit = all + +; Allow rtv to store reddit authentication credentials between sessions. +persistent = True + +; Clear any stored credentials when the program starts. +clear_auth = False + +; Maximum number of opened links that will be saved in the history file. +history_size = 200 + +; Open external links using programs defined in the mailcap config. +enable_media = True + +; Maximum number of columns for a comment +max_comment_cols = 120 + +; Hide username if logged in, display "Logged in" instead +hide_username = False + +################ +# OAuth Settings +################ +; This sections defines the paramaters that will be used during the OAuth +; authentication process. rtv is registered as an "installed app", +; see https://github.com/reddit/reddit/wiki/OAuth2 for more information. + +; These settings are defined at https://www.reddit.com/prefs/apps and should +; not be altered unless you are defining your own developer application. +oauth_client_id = E2oEtRQfdfAfNQ +oauth_client_secret = praw_gapfill +oauth_redirect_uri = http://127.0.0.1:65000/ + +; Port that the rtv webserver will listen on. This should match the redirect +; uri defined above. +oauth_redirect_port = 65000 + +; Access permissions that will be requested. +oauth_scope = edit,history,identity,mysubreddits,privatemessages,read,report,save,submit,subscribe,vote + +[bindings] +############## +# Key Bindings +############## +; If you would like to define custom bindings, copy this section into your +; config file with the [bindings] heading. All commands must be bound to at +; least one key for the config to be valid. +; +; 1.) Plain keys can be represented by either uppercase/lowercase characters +; or the hexadecimal numbers referring their ascii codes. For reference, see +; https://en.wikipedia.org/wiki/ASCII#ASCII_printable_code_chart +; e.g. Q, q, 1, ? +; e.g. 0x20 (space), 0x3c (less-than sign) +; +; 2.) Special ascii control codes should be surrounded with <>. For reference, +; see https://en.wikipedia.org/wiki/ASCII#ASCII_control_code_chart +; e.g. (enter), (escape) +; +; 3.) Other special keys are defined by curses, they should be surrounded by <> +; and prefixed with KEY_. For reference, see +; https://docs.python.org/2/library/curses.html#constants +; e.g. (left arrow), , (page down) +; +; Notes: +; - Curses is unreliable and should always be used in conjunction +; with . +; - Use 0x20 for the space key. +; - A subset of Ctrl modifiers are available through the ascii control codes. +; For example, Ctrl-D will trigger an signal. See the table above for +; a complete reference. + +; Base page +EXIT = q +FORCE_EXIT = Q +HELP = ? +SORT_HOT = 1 +SORT_TOP = 2 +SORT_RISING = 3 +SORT_NEW = 4 +SORT_CONTROVERSIAL = 5 +MOVE_UP = k, +MOVE_DOWN = j, +PAGE_UP = m, , +PAGE_DOWN = n, , +PAGE_TOP = gg +PAGE_BOTTOM = G +UPVOTE = a +DOWNVOTE = z +LOGIN = u +DELETE = d +EDIT = e +INBOX = i +REFRESH = r, +PROMPT = / +SAVE = w + +; Submission page +SUBMISSION_TOGGLE_COMMENT = 0x20 +SUBMISSION_OPEN_IN_BROWSER = o, , +SUBMISSION_POST = c +SUBMISSION_EXIT = h, +SUBMISSION_OPEN_IN_PAGER = l, +SUBMISSION_OPEN_IN_URLVIEWER = b + +; Subreddit page +SUBREDDIT_SEARCH = f +SUBREDDIT_POST = c +SUBREDDIT_OPEN = l, +SUBREDDIT_OPEN_IN_BROWSER = o, , , +SUBREDDIT_OPEN_SUBSCRIPTIONS = s +SUBREDDIT_OPEN_MULTIREDDITS = S +SUBREDDIT_FRONTPAGE = p + +; Subscription page +SUBSCRIPTION_SELECT = l, , , +SUBSCRIPTION_EXIT = h, s, S, ,