{"id":13419434,"url":"https://github.com/michael-lazar/rtv","last_synced_at":"2025-09-28T21:30:47.321Z","repository":{"id":27020491,"uuid":"30484966","full_name":"michael-lazar/rtv","owner":"michael-lazar","description":"Browse Reddit from your terminal","archived":true,"fork":false,"pushed_at":"2023-02-20T15:57:19.000Z","size":52860,"stargazers_count":4655,"open_issues_count":103,"forks_count":278,"subscribers_count":82,"default_branch":"master","last_synced_at":"2025-01-04T22:36:00.259Z","etag":null,"topics":["command-line","curses","python","reddit","reddit-client","terminal","tui"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michael-lazar.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2015-02-08T08:10:02.000Z","updated_at":"2025-01-01T23:59:35.000Z","dependencies_parsed_at":"2022-07-12T01:00:40.165Z","dependency_job_id":"4bf70da5-71d7-4b01-8d7f-51366ac23edb","html_url":"https://github.com/michael-lazar/rtv","commit_stats":{"total_commits":1303,"total_committers":73,"mean_commits":17.84931506849315,"dds":0.5026861089792786,"last_synced_commit":"b34e8a1da01e2997cc6f7def207f5b340217cc66"},"previous_names":[],"tags_count":49,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michael-lazar%2Frtv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michael-lazar%2Frtv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michael-lazar%2Frtv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michael-lazar%2Frtv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michael-lazar","download_url":"https://codeload.github.com/michael-lazar/rtv/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234563132,"owners_count":18853059,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["command-line","curses","python","reddit","reddit-client","terminal","tui"],"created_at":"2024-07-30T22:01:15.962Z","updated_at":"2025-09-28T21:30:42.268Z","avatar_url":"https://github.com/michael-lazar.png","language":"Python","readme":"**THIS PROJECT IS NO LONGER MAINTAINED**\n\n- [RTV Development is Shutting Down](https://github.com/michael-lazar/rtv/issues/696)\n- [List of Alternative Projects](https://gist.github.com/michael-lazar/8c31b9f637c3b9d7fbdcbb0eebcf2b0a)\n\n\u003ch1 align=\"center\"\u003eReddit Terminal Viewer (RTV)\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\nA text-based interface (TUI) to view and interact with Reddit from your terminal.\u003cbr\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg alt=\"title image\" src=\"resources/title_image.png\"/\u003e\n\u003c/p\u003e\n\n## Table of Contents\n\n* [Demo](#demo)  \n* [Installation](#installation)  \n* [Usage](#usage)  \n* [Settings](#settings)\n* [Themes](#themes)\n* [FAQ](#faq)  \n* [Contributing](#contributing)  \n* [License](#license)  \n\n## Demo\n\n\u003cp align=\"center\"\u003e\n\u003cimg alt=\"title image\" src=\"resources/demo.gif\"/\u003e\n\u003c/p\u003e\n\nYou can use *telnet* or *ssh* to try out a lite version of RTV directly in your terminal, without needing to install it:\n\n- ``$ telnet redditbox.us``\n- ``$ ssh redditbox.us``\n\n*[redditbox.us](https://redditbox.us/) is an independent project by Alex Jarmoszuk*\n\n## Installation\n\n### PyPI package\n\nRTV is available on [PyPI](https://pypi.python.org/pypi/rtv/) and can be installed with pip:\n\n```bash\n$ pip install rtv\n```\n\n### Native packages\n\nSee [Repology](https://repology.org/metapackage/rtv/packages) for an up-to-date list of supported distro packages:\n\n```bash\n# macOS\n$ brew install rtv\n\n# Arch\n$ pacman -S rtv\n\n# Nix\n$ nix-env -i rtv\n\n# Debian\n$ apt install rtv\n\n# FreeBSD\n$ pkg install rtv\n```\n\n### From source\n\n```bash\n$ git clone https://github.com/michael-lazar/rtv.git\n$ cd rtv\n$ python setup.py install\n```\n\n### Windows\n\nRTV is not supported on Windows, due to a lack of resources and interest. Sorry!\n\n## Usage\n\nTo run the program, type:\n\n```bash\n$ rtv --help\n```\n\n### Controls\n\nMove the cursor using either the arrow keys or *Vim* style movement:\n\n- Press \u003ckbd\u003e▲\u003c/kbd\u003e and \u003ckbd\u003e▼\u003c/kbd\u003e to scroll through submissions\n- Press \u003ckbd\u003e▶\u003c/kbd\u003e to view the selected submission and \u003ckbd\u003e◀\u003c/kbd\u003e to return\n- Press \u003ckbd\u003espace-bar\u003c/kbd\u003e to expand/collapse comments\n- Press \u003ckbd\u003eu\u003c/kbd\u003e to login (this requires a web browser for [OAuth](https://github.com/reddit-archive/reddit/wiki/oauth2))\n- Press \u003ckbd\u003e?\u003c/kbd\u003e to open the help screen\n\nPress \u003ckbd\u003e/\u003c/kbd\u003e to open the navigation prompt, where you can type things like:\n\n- ``/front``\n- ``/r/commandprompt+linuxmasterrace``\n- ``/r/programming/controversial``\n- ``/u/me``\n- ``/u/multi-mod/m/art``\n- ``/domain/github.com``\n\nSee [CONTROLS](CONTROLS.md) for the full list of commands.\n\n## Settings\n\n### Configuration File\n\nConfiguration files are stored in the ``{HOME}/.config/rtv/`` directory.\n\nCheck out [rtv.cfg](rtv/templates/rtv.cfg) for the full list of configurable options. You can clone this file into your home directory by running:\n\n```bash\n$ rtv --copy-config\n```\n\n### Viewing Media Links\n\nYou can use [mailcap](https://en.wikipedia.org/wiki/Media_type#Mailcap) to configure how RTV will open different types of links.\n\n\u003cp align=\"center\"\u003e\n\u003cimg alt=\"title image\" src=\"resources/mailcap.gif\"/\u003e\n\u003c/p\u003e\n\nA mailcap file allows you to associate different MIME media types, like ``image/jpeg`` or ``video/mp4``, with shell commands. This feature is disabled by default because it takes a few extra steps to configure. To get started, copy the default mailcap template to your home directory.\n\n```bash\n$ rtv --copy-mailcap\n```\n\nThis 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](rtv/templates/mailcap) listed inside.\n\nOnce you've setup your mailcap file, enable it by launching rtv with the ``rtv --enable-media`` flag (or set it in your **rtv.cfg**)\n\n### Environment Variables\n\nThe default programs that RTV interacts with can be configured through environment variables:\n\n\u003ctable\u003e\n  \u003ctr\u003e\n  \u003ctd\u003e\u003cstrong\u003e$RTV_EDITOR\u003c/strong\u003e\u003c/td\u003e\n  \u003ctd\u003eA program used to compose text submissions and comments, e.g. \u003cstrong\u003evim\u003c/strong\u003e, \u003cstrong\u003eemacs\u003c/strong\u003e, \u003cstrong\u003egedit\u003c/strong\u003e\n  \u003cbr/\u003e \u003cem\u003eIf not specified, will fallback to $VISUAL and $EDITOR in that order.\u003c/em\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n  \u003ctd\u003e\u003cstrong\u003e$RTV_BROWSER\u003c/strong\u003e\u003c/td\u003e\n  \u003ctd\u003eA program used to open links to external websites, e.g. \u003cstrong\u003efirefox\u003c/strong\u003e, \u003cstrong\u003egoogle-chrome\u003c/strong\u003e, \u003cstrong\u003ew3m\u003c/strong\u003e, \u003cstrong\u003elynx\u003c/strong\u003e\n  \u003cbr/\u003e \u003cem\u003eIf not specified, will fallback to $BROWSER, or your system's default browser.\u003c/em\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n  \u003ctd\u003e\u003cstrong\u003e$RTV_URLVIEWER\u003c/strong\u003e\u003c/td\u003e\n  \u003ctd\u003eA tool used to extract hyperlinks from blocks of text, e.g. \u003ca href=https://github.com/sigpipe/urlview\u003eurlview\u003c/a\u003e, \u003ca href=https://github.com/firecat53/urlscan\u003eurlscan\u003c/a\u003e\n  \u003cbr/\u003e \u003cem\u003eIf not specified, will fallback to urlview if it is installed.\u003c/em\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n### Clipboard\n\nRTV supports copying submission links to the OS clipboard. On macOS this is supported out of the box.\nOn Linux systems you will need to install either [xsel](http://www.vergenet.net/~conrad/software/xsel/) or [xclip](https://sourceforge.net/projects/xclip/).\n\n## Themes\n\nThemes can be used to customize the look and feel of RTV\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cp\u003e\u003cstrong\u003eSolarized Dark\u003c/strong\u003e\u003c/p\u003e\n      \u003cimg src=\"resources/theme_solarized_dark.png\"\u003e\u003c/img\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cp\u003e\u003cstrong\u003eSolarized Light\u003c/strong\u003e\u003c/p\u003e\n      \u003cimg src=\"resources/theme_solarized_light.png\"\u003e\u003c/img\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cp\u003e\u003cstrong\u003ePapercolor\u003c/strong\u003e\u003c/p\u003e\n      \u003cimg src=\"resources/theme_papercolor.png\"\u003e\u003c/img\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cp\u003e\u003cstrong\u003eMolokai\u003c/strong\u003e\u003c/p\u003e\n      \u003cimg src=\"resources/theme_molokai.png\"\u003e\u003c/img\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\nYou can list all installed themes with the ``--list-themes`` command, and select one with ``--theme``. You can save your choice permanently in your [rtv.cfg](rtv/templates/rtv.cfg) file. You can also use the \u003ckbd\u003eF2\u003c/kbd\u003e \u0026 \u003ckbd\u003eF3\u003c/kbd\u003e keys inside of RTV to cycle through all available themes.\n\nFor instructions on writing and installing your own themes, see [THEMES.md](THEMES.md).\n\n## FAQ\n\n\u003cdetails\u003e\n \u003csummary\u003eWhy am I getting an error during installation/when launching rtv?\u003c/summary\u003e\n \n  \u003e If your distro ships with an older version of python 2.7 or python-requests,\n  \u003e you may experience SSL errors or other package incompatibilities. The\n  \u003e easiest way to fix this is to install rtv using python 3. If you\n  \u003e don't already have pip3, see http://stackoverflow.com/a/6587528 for setup\n  \u003e instructions. Then do\n  \u003e\n  \u003e ```bash\n  \u003e $ sudo pip uninstall rtv\n  \u003e $ sudo pip3 install -U rtv\n  \u003e ```\n\n\u003c/details\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eWhy do I see garbled text like \u003cem\u003eM-b~@M-\"\u003c/em\u003e or \u003cem\u003e^@\u003c/em\u003e?\u003c/summary\u003e\n \n  \u003e This type of text usually shows up when python is unable to render\n  \u003e unicode properly.\n  \u003e    \n  \u003e 1. Try starting RTV in ascii-only mode with ``rtv --ascii``\n  \u003e 2. Make sure that the terminal/font that you're using supports unicode\n  \u003e 3. Try [setting the LOCALE to utf-8](https://perlgeek.de/en/article/set-up-a-clean-utf8-environment)\n  \u003e 4. Your python may have been built against the wrong curses library,\n  \u003e    see [here](stackoverflow.com/questions/19373027) and\n  \u003e    [here](https://bugs.python.org/issue4787) for more information\n\n\u003c/details\u003e\n\u003cdetails\u003e\n \u003csummary\u003eHow do I run the code directly from the repository?\u003c/summary\u003e\n \n  \u003e This project is structured to be run as a python *module*. This means that\n  \u003e you need to launch it using python's ``-m`` flag. See the example below, which\n  \u003e assumes that you have cloned the repository into the directory **~/rtv_project**.\n  \u003e\n  \u003e ```bash\n  \u003e $ cd ~/rtv_project\n  \u003e $ python3 -m rtv\n  \u003e ```\n\n\u003c/details\u003e\n\n## Contributing\nAll feedback and suggestions are welcome, just post an issue!\n\nBefore writing any code, please read the [Contributor Guidelines](CONTRIBUTING.rst).\n\n## License\nThis project is distributed under the [MIT](LICENSE) license.\n   \n","funding_links":[],"categories":["Python","Social","Entertainment","Tools and Plugins","Cryptocurrency","Applications"],"sub_categories":["Social Media","Windows","Directory Navigation"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichael-lazar%2Frtv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichael-lazar%2Frtv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichael-lazar%2Frtv/lists"}