Merge branch 'master' into themes

This commit is contained in:
Michael Lazar
2017-09-21 11:50:35 -04:00

164
README.md
View File

@@ -57,38 +57,25 @@ $ pip install rtv
### Native packages
Check [Repology](https://repology.org/metapackage/rtv/information) for an up-to-date list of supported packages:
**macOS**
See [Repology](https://repology.org/metapackage/rtv/information) for an up-to-date list of supported packages:
```bash
$ brew install rtv
```
# macOS
brew install rtv
**Debian 9+, Ubuntu 17.04+**
# Debian 9+, Ubuntu 17.04+
apt install rtv
```bash
$ apt install rtv
```
# Fedora 24+
yum install rtv
**Fedora 24+**
```bash
$ yum install rtv
```
**Arch Linux**
```bash
$ # Install the latest official release
$ yaourt -S rtv
$ # Or to keep up to date with the master branch
$ yaourt -S rtv-git
# Arch
yaourt -S rtv
```
## Usage
To run the program, type
To run the program, type:
```bash
$ rtv --help
@@ -96,15 +83,15 @@ $ rtv --help
### Controls
Move the cursor using either the arrow keys or *Vim* style movement
Move the cursor using either the arrow keys or *Vim* style movement:
- Press ``up`` and ``down`` to scroll through submissions
- Press ``right`` to view the selected submission and ``left`` to return
- Press ``space`` to expand/collapse comments
- Press ``u`` to login
- Press ``?`` to open the help screen
- Press <kbd>▲</kbd> and <kbd>▼</kbd> to scroll through submissions
- Press <kbd>▶</kbd> to view the selected submission and <kbd>◀</kbd> to return
- Press <kbd>space-bar</kbd> to expand/collapse comments
- Press <kbd>u</kbd> to login
- Press <kbd>?</kbd> to open the help screen
Press ``/`` to open the navigation prompt, where you can type things like
Press <kbd>/</kbd> to open the navigation prompt, where you can type things like:
- ``/front``
- ``/r/commandprompt+linuxmasterrace``
@@ -113,15 +100,15 @@ Press ``/`` to open the navigation prompt, where you can type things like
- ``/u/multi-mod/m/art``
- ``/domain/github.com``
See [CONTROLS](https://github.com/michael-lazar/rtv/blob/master/CONTROLS.rst) for the full list of commands
See [CONTROLS](https://github.com/michael-lazar/rtv/blob/master/CONTROLS.rst) for the full list of commands.
## Settings
### Configuration File
Configuration files are stored in the ``{HOME}/.config/rtv/`` directory
Configuration files are stored in the ``{HOME}/.config/rtv/`` directory.
See [rtv.cfg](https://github.com/michael-lazar/rtv/blob/master/rtv/templates/rtv.cfg) for the full list of configurable options. You can clone this file into your home directory by running
Check out [rtv.cfg](https://github.com/michael-lazar/rtv/blob/master/rtv/templates/rtv.cfg) for the full list of configurable options. You can clone this file into your home directory by running:
```bash
$ rtv --copy-config
@@ -129,7 +116,7 @@ $ rtv --copy-config
### Viewing Media Links
You can use [mailcap](https://en.wikipedia.org/wiki/Media_type#Mailcap) to configure how RTV will open different types of links
You can use [mailcap](https://en.wikipedia.org/wiki/Media_type#Mailcap) to configure how RTV will open different types of links.
<p align="center">
<img alt="title image" src="resources/mailcap.gif"/>
@@ -141,70 +128,79 @@ A mailcap file allows you to associate different MIME media types, like ``image/
$ rtv --copy-mailcap
```
This template contains examples for common MIME types that work with popular reddit websites like *imgur*, *youtube*, and *gfycat*. Open the mailcap template and follow the [instructions](https://github.com/michael-lazar/rtv/blob/master/rtv/templates/mailcap) listed inside.
Once you've setup your mailcap file, enable it by launching rtv with the ``rtv --enable-media`` flag (or set it in your **rtv.cfg**)
This template contains examples for common MIME types that work with popular reddit websites like *imgur*, *youtube*, and *gfycat*. Open the mailcap template and follow the [instructions](https://github.com/michael-lazar/rtv/blob/master/rtv/templates/mailcap) listed inside. Once you've setup your mailcap file, enable it by launching rtv with the ``rtv --enable-media`` flag (or set it in your **rtv.cfg**)
### Environment Variables
The default programs that RTV interacts with can be configured through environment variables
The default programs that RTV interacts with can be configured through environment variables:
<dl>
<dt>$RTV_EDITOR</dt>
<dd>A program used to compose text submissions and comments, e.g. <strong>vim</strong>, <strong>emacs</strong>, <strong>gedit</strong>
<br/> <em>If not specified, will fallback to $VISUAL and $EDITOR in that order.</em></dd>
<table>
<tr>
<td><strong>$RTV_EDITOR</strong></td>
<td>A program used to compose text submissions and comments, e.g. <strong>vim</strong>, <strong>emacs</strong>, <strong>gedit</strong>
<br/> <em>If not specified, will fallback to $VISUAL and $EDITOR in that order.</em></td>
</tr>
<tr>
<td><strong>$RTV_BROWSER</strong></td>
<td>A program used to open links to external websites, e.g. <strong>firefox</strong>, <strong>google-chrome</strong>, <strong>w3m</strong>, <strong>lynx</strong>
<br/> <em>If not specified, will fallback to $BROWSER, or your system's default browser.</em></td>
</tr>
<tr>
<td><strong>$RTV_URLVIEWER</strong></td>
<td>A tool used to extract hyperlinks from blocks of text, e.g. <a href=https://github.com/sigpipe/urlview>urlview</a>, <a href=https://github.com/firecat53/urlscan>urlscan</a>
<br/> <em>If not specified, will fallback to urlview if it is installed.</em></td>
</tr>
</table>
<dt>$RTV_BROWSER</dt>
<dd>A program used to open links to external websites, e.g. <strong>firefox</strong>, <strong>google-chrome</strong>, <strong>w3m</strong>, <strong>lynx</strong>, <strong>elinks</strong>
<br/> <em>If not specified, will fallback to $BROWSER, or try to intelligently choose a browser supported by your system.</em></dd>
<dt>$RTV_URLVIEWER</dt>
<dd>A tool used to extract hyperlinks from blocks of text, e.g.<a href=https://github.com/sigpipe/urlview>urlview</a>, <a href=https://github.com/firecat53/urlscan>urlscan</a>
<br/> <em>If not specified, will fallback to urlview if it is installed.</em></dd>
</dl>
### Copying to the Clipboard
### Clipboard
RTV supports copying submission links to the OS clipboard.
On macOS this is supported out of the box.
On Linux systems you will need to install either [xsel](http://www.vergenet.net/~conrad/software/xsel/) or [xclip](https://sourceforge.net/projects/xclip/).
## FAQ
**Why am I getting an error during installation/when launching rtv?**
<details>
<summary>Why am I getting an error during installation/when launching rtv?</summary>
> If your distro ships with an older version of python 2.7 or python-requests,
> you may experience SSL errors or other package incompatibilities. The
> easiest way to fix this is to install rtv using python 3. If you
> don't already have pip3, see http://stackoverflow.com/a/6587528 for setup
> instructions. Then do
>
> ```bash
> $ sudo pip uninstall rtv
> $ sudo pip3 install -U rtv
> ```
> If your distro ships with an older version of python 2.7 or python-requests,
> you may experience SSL errors or other package incompatibilities. The
> easiest way to fix this is to install rtv using python 3. If you
> don't already have pip3, see http://stackoverflow.com/a/6587528 for setup
> instructions. Then do
>
> ```bash
> $ sudo pip uninstall rtv
> $ sudo pip3 install -U rtv
> ```
**Why do I see garbled text like** ``M-b~@M-"`` **or** ``^@`` **?**
</details>
<details>
<summary>Why do I see garbled text like <em>M-b~@M-"</em> or <em>^@</em>?</summary>
> This type of text usually shows up when python is unable to render
> unicode properly.
>
> 1. Try starting RTV in ascii-only mode with ``rtv --ascii``
> 2. Make sure that the terminal/font that you're using supports unicode
> 3. Try [setting the LOCALE to utf-8](https://perlgeek.de/en/article/set-up-a-clean-utf8-environment)
> 4. Your python may have been built against the wrong curses library,
> see [here](stackoverflow.com/questions/19373027) and
> [here](https://bugs.python.org/issue4787) for more information
> This type of text usually shows up when python is unable to render
> unicode properly.
>
> 1. Try starting RTV in ascii-only mode with ``rtv --ascii``
> 2. Make sure that the terminal/font that you're using supports unicode
> 3. Try [setting the LOCALE to utf-8](https://perlgeek.de/en/article/set-up-a-clean-utf8-environment)
> 4. Your python may have been built against the wrong curses library,
> see [here](stackoverflow.com/questions/19373027) and
> [here](https://bugs.python.org/issue4787) for more information
**How do I run the code directly from the repository?**
</details>
<details>
<summary>How do I run the code directly from the repository?</summary>
> This project is structured to be run as a python *module*. This means that
> you need to launch it using python's ``-m`` flag. See the example below, which
> assumes that you have cloned the repository into the directory **~/rtv_project**.
>
> ```bash
> $ cd ~/rtv_project
> $ python3 -m rtv
> ```
> This project is structured to be run as a python *module*. This means that
> you need to launch it using python's ``-m`` flag. See the example below, which
> assumes that you have cloned the repository into the directory **~/rtv_project**.
>
> ```bash
> $ cd ~/rtv_project
> $ python3 -m rtv
> ```
</details>
## Contributing
All feedback and suggestions are welcome, just post an issue!
@@ -214,7 +210,3 @@ Before writing any code, please read the [Contributor Guidelines](https://github
## License
This project is distributed under the [MIT](https://github.com/michael-lazar/rtv/blob/master/LICENSE) license.
<p align="center">
<img alt="title image" src="resources/retro_term.png"/>
</p>