Browse Reddit from your terminal

Overview

THIS PROJECT IS NO LONGER MAINTAINED

Reddit Terminal Viewer (RTV)

A text-based interface (TUI) to view and interact with Reddit from your terminal.

title image

Table of Contents

Demo

title image

You can use telnet or ssh to try out a lite version of RTV directly in your terminal, without needing to install it:

  • $ telnet redditbox.us
  • $ ssh redditbox.us

redditbox.us is an independent project by Alex Jarmoszuk

Installation

PyPI package

RTV is available on PyPI and can be installed with pip:

$ pip install rtv

Native packages

See Repology for an up-to-date list of supported distro packages:

# macOS
$ brew install rtv

# Arch
$ pacman -S rtv

# Nix
$ nix-env -i rtv

# Debian
$ apt install rtv

# FreeBSD
$ pkg install rtv

From source

$ git clone https://github.com/michael-lazar/rtv.git
$ cd rtv
$ python setup.py install

Windows

RTV is not supported on Windows, due to a lack of resources and interest. Sorry!

Usage

To run the program, type:

$ rtv --help

Controls

Move the cursor using either the arrow keys or Vim style movement:

  • Press and to scroll through submissions
  • Press to view the selected submission and to return
  • Press space-bar to expand/collapse comments
  • Press u to login (this requires a web browser for OAuth)
  • Press ? to open the help screen

Press / to open the navigation prompt, where you can type things like:

  • /front
  • /r/commandprompt+linuxmasterrace
  • /r/programming/controversial
  • /u/me
  • /u/multi-mod/m/art
  • /domain/github.com

See CONTROLS for the full list of commands.

Settings

Configuration File

Configuration files are stored in the {HOME}/.config/rtv/ directory.

Check out rtv.cfg for the full list of configurable options. You can clone this file into your home directory by running:

$ rtv --copy-config

Viewing Media Links

You can use mailcap to configure how RTV will open different types of links.

title image

A 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.

$ 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 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:

$RTV_EDITOR A program used to compose text submissions and comments, e.g. vim, emacs, gedit
If not specified, will fallback to $VISUAL and $EDITOR in that order.
$RTV_BROWSER A program used to open links to external websites, e.g. firefox, google-chrome, w3m, lynx
If not specified, will fallback to $BROWSER, or your system's default browser.
$RTV_URLVIEWER A tool used to extract hyperlinks from blocks of text, e.g. urlview, urlscan
If not specified, will fallback to urlview if it is installed.

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 or xclip.

Themes

Themes can be used to customize the look and feel of RTV

Solarized Dark

Solarized Light

Papercolor

Molokai

You 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 file. You can also use the F2 & F3 keys inside of RTV to cycle through all available themes.

For instructions on writing and installing your own themes, see THEMES.md.

FAQ

Why am I getting an error during installation/when launching 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

$ sudo pip uninstall rtv
$ sudo pip3 install -U rtv
Why do I see garbled text like [email protected]" or ^@?

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
  4. Your python may have been built against the wrong curses library, see here and here for more information
How do I run the code directly from the repository?

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.

$ cd ~/rtv_project
$ python3 -m rtv

Contributing

All feedback and suggestions are welcome, just post an issue!

Before writing any code, please read the Contributor Guidelines.

License

This project is distributed under the MIT license.

Issues
  • Viewing Submission Crashes rtv

    Viewing Submission Crashes rtv

    rtv has been working great on this computer for the last couple of months. Today all of a sudden rtv started crashing whenever I try and view a submission.

    rtv -V outputs: rtv 1.17.1

    Here is the error message that is echoed when it crashes:

    Traceback (most recent call last):
      File "/usr/local/bin/rtv", line 11, in <module>
        load_entry_point('rtv==1.17.1', 'console_scripts', 'rtv')()
      File "/usr/local/Cellar/rtv/1.17.1/libexec/lib/python3.6/site-packages/pkg_resources/__init__.py", line 564, in load_entry_point
        return get_distribution(dist).load_entry_point(group, name)
      File "/usr/local/Cellar/rtv/1.17.1/libexec/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2662, in load_entry_point
        return ep.load()
      File "/usr/local/Cellar/rtv/1.17.1/libexec/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2316, in load
        return self.resolve()
      File "/usr/local/Cellar/rtv/1.17.1/libexec/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2322, in resolve
        module = __import__(self.module_name, fromlist=['__name__'], level=0)
      File "/usr/local/Cellar/rtv/1.17.1/libexec/lib/python3.6/site-packages/rtv/__main__.py", line 205, in <module>
        sys.exit(main())
      File "/usr/local/Cellar/rtv/1.17.1/libexec/lib/python3.6/site-packages/rtv/__main__.py", line 188, in main
        page.loop()
      File "/usr/local/Cellar/rtv/1.17.1/libexec/lib/python3.6/site-packages/rtv/page.py", line 83, in loop
        self.controller.trigger(ch)
      File "/usr/local/Cellar/rtv/1.17.1/libexec/lib/python3.6/site-packages/rtv/objects.py", line 594, in trigger
        return func(self.instance, *args, **kwargs)
      File "/usr/local/Cellar/rtv/1.17.1/libexec/lib/python3.6/site-packages/rtv/subreddit_page.py", line 130, in open_submission
        self.reddit, self.term, self.config, self.oauth, url=url)
      File "/usr/local/Cellar/rtv/1.17.1/libexec/lib/python3.6/site-packages/rtv/submission_page.py", line 30, in __init__
        max_comment_cols=config['max_comment_cols'])
      File "/usr/local/Cellar/rtv/1.17.1/libexec/lib/python3.6/site-packages/rtv/content.py", line 344, in from_url
        submission = reddit.get_submission(url, comment_sort=order)
      File "/usr/local/Cellar/rtv/1.17.1/libexec/lib/python3.6/site-packages/rtv/packages/praw/__init__.py", line 1107, in get_submission
        params=params)
      File "<decorator-gen-199>", line 2, in from_url
      File "/usr/local/Cellar/rtv/1.17.1/libexec/lib/python3.6/site-packages/rtv/packages/praw/decorators.py", line 277, in wrap
        return function(*args, **kwargs)
      File "/usr/local/Cellar/rtv/1.17.1/libexec/lib/python3.6/site-packages/rtv/packages/praw/objects.py", line 1155, in from_url
        response = reddit_session.request_json(url, params=params)
      File "<decorator-gen-8>", line 2, in request_json
      File "/usr/local/Cellar/rtv/1.17.1/libexec/lib/python3.6/site-packages/rtv/packages/praw/decorators.py", line 117, in raise_api_exceptions
        return_value = function(*args, **kwargs)
      File "/usr/local/Cellar/rtv/1.17.1/libexec/lib/python3.6/site-packages/rtv/packages/praw/__init__.py", line 629, in request_json
        data = json.loads(response, object_hook=hook)
      File "/usr/local/opt/python3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/__init__.py", line 367, in loads
        return cls(**kw).decode(s)
      File "/usr/local/opt/python3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/decoder.py", line 339, in decode
        obj, end = self.raw_decode(s, idx=_w(s, 0).end())
      File "/usr/local/opt/python3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/decoder.py", line 355, in raw_decode
        obj, end = self.scan_once(s, idx)
      File "/usr/local/Cellar/rtv/1.17.1/libexec/lib/python3.6/site-packages/rtv/packages/praw/__init__.py", line 487, in _json_reddit_objecter
        return object_class.from_api_response(self, json_data['data'])
      File "/usr/local/Cellar/rtv/1.17.1/libexec/lib/python3.6/site-packages/rtv/packages/praw/objects.py", line 55, in from_api_response
        return cls(reddit_session, json_dict=json_dict)
      File "/usr/local/Cellar/rtv/1.17.1/libexec/lib/python3.6/site-packages/rtv/packages/praw/objects.py", line 637, in __init__
        underscore_names=['replies'])
      File "/usr/local/Cellar/rtv/1.17.1/libexec/lib/python3.6/site-packages/rtv/packages/praw/objects.py", line 70, in __init__
        self._has_fetched = self._populate(json_dict, fetch)
      File "/usr/local/Cellar/rtv/1.17.1/libexec/lib/python3.6/site-packages/rtv/packages/praw/objects.py", line 179, in _populate
        setattr(self, name, value)
      File "/usr/local/Cellar/rtv/1.17.1/libexec/lib/python3.6/site-packages/rtv/packages/praw/objects.py", line 127, in __setattr__
        object.__setattr__(self, name, value)
    AttributeError: can't set attribute
    

    Any help would be appreciated. -notmar

    bug 
    opened by notmar 26
  • Support for receiving/replying to messages?

    Support for receiving/replying to messages?

    Does the PRAW api support messages/inbox/etc? If so, would it be possible to implement a little notification when you have unread messages, a command to go to the inbox, reply to messages, things like that?

    This is the only feature that keeps me opening reddit in a browser at this point.

    I'd be happy to start working on this if it's something you think is feasible.

    high demand new feature 
    opened by ghost 26
  • Colors config

    Colors config

    Support colors themes:

    • Read default colors in rtv/config.py (black & white)
    • Load theme located in $XDG_CONFIG_HOME/rtv/rtv-colors.cfg
    • Use defined colors in page / subreddit / submission

    Check rtv-colors.dist.cfg for example

    Screenshot: RTV Colors

    opened by arount 23
  • [Feature Request] Ability to hide links

    [Feature Request] Ability to hide links

    Thanks for this amazing program!

    I have only one problem with it, I like to hide links, when I've seen them.

    As far as I can tell, this is not currently possible.

    If at all possible, could you add this feature?

    high demand new feature 
    opened by data-flux 23
  • Allow users to submit upvotes and downvotes

    Allow users to submit upvotes and downvotes

    Users who are logged in should be able to vote on submissions and comments. I think the following keybinds would work:

    u - upvote d - downvote c - clear vote

    Applying the vote should be fairly easy, something like

    submission_data = content.get(index)
    submission_data['object'].upvote()
    

    This would also entail adding a visual cue to indicate which items the user has voted on.

    I'll leave this open in case anybody wants to work on it.

    new feature 
    opened by michael-lazar 21
  • Upgrade to praw >= 4

    Upgrade to praw >= 4

    As title

    bug new feature 
    opened by Fale 19
  • [Bug] No Backspace Capability when Typing a Subreddit

    [Bug] No Backspace Capability when Typing a Subreddit

    Currently can't backspace when entering a subreddit in the prompt. Small bug, I imagine.

    bug 
    opened by ghost 18
  • Login fails on OS X

    Login fails on OS X

    I'm running rtv in iTerm 2 on OS X in zsh. I installed via pip. My python version is 2.7.10.

    When attempting to log in I am redirected to the authorization page on reddit. The redirect is pointed to 127.0.0.1:65000. Is RTV running something there? It times out after a while.

    bug 
    opened by valleybay 18
  • [Bug] Not Working Properly inside of TMux

    [Bug] Not Working Properly inside of TMux

    I'm running:

    • TMux 2.2
    • Fedora 24
    • Gnome Terminal 3.20.2
    • RTV 1.13.0

    I am able to open, and log into RTV, but upon trying to scroll past 1 "page" of links, comments, anything that takes up more then 1 screen. Only the bottom 5-10% of the page changes. Even then, it seems to just overlay the next link or comment on top of the previous.

    This does not happen with all of the same details but minus TMux (Opening a terminal, and launching rtv works as expected)

    Happy to test stuff or change things as requested. I just installed this about 10 minutes ago but couldn't find a fix.

    rtv-tmux

    How i got the above screenshot. I held "j" for a few seconds, opened a random one to comments (l) returned (h) then held j for a few more seconds. As you can see, it goes 7-20, then 81 and 82 are stacked on top of each other at the bottom.

    @michael-lazar SS Attached as requested :smile:

    bug 
    opened by challsted 18
  • assign custom commands to run when opening images/gifs/videos

    assign custom commands to run when opening images/gifs/videos

    I'd love it if I could define custom commands to run when, for example, opening a link that ends with .gif: mpv %u or something like that. Or mpv ytdl://%u for youtube links. Also curl %u | feh - for images.

    new feature 
    opened by oatberry 17
  • Archiving Github Repository

    Archiving Github Repository

    I have made the decision to archive this repository. See RTV development is shutting down for background on why this project has been abandoned.

    I have moved the list of Alternatives to RTV to a separate Github gist. If you have a fork or similar project that you would like to advertise, you can leave a comment on that page.

    Please do not contact me directly regarding any bugs or issues that you discover. I would advise that you either make an issue on your downstream package manager (homebrew, debian, etc) or in one of the forks listed on the alternatives page.

    IMPORTANT 
    opened by michael-lazar 0
  • Crash while trying to open a submission link

    Crash while trying to open a submission link

    Describe the bug Just tried to open a given link in the browser with the o key and it crashed.

    Describe your environment

    • Mac OS 10.15.2
    • Default browser is Safari

    Stack trace

    rtv version: rtv 1.27.0
    rtv module path: /usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/__main__.py
    python version: 3.8.1 (default, Dec 27 2019, 18:06:00)  [Clang 11.0.0 (clang-1100.0.33.16)]
    python executable: /usr/local/Cellar/rtv/1.27.0_1/libexec/bin/python3.8
    praw version: packaged, commit 1656ec224e57
    locale, encoding: C/UTF-8/C/C/C/C, UTF-8
    Environment Variables
      BROWSER         :
      DISPLAY         :
      EDITOR          : vim
      LANG            :
      PAGER           : less
      RTV_BROWSER     :
      RTV_EDITOR      :
      RTV_PAGER       :
      RTV_URLVIEWER   :
      TERM            : screen-256color
      VISUAL          :
      XDG_CONFIG_HOME :
      XDG_DATA_HOME   :
    
    Traceback (most recent call last):
      File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/__main__.py", line 255, in main
        page = page.loop()
      File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/page.py", line 94, in loop
        self.controller.trigger(ch)
      File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/objects.py", line 604, in trigger
        return func(self.instance, *args, **kwargs)
      File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/subreddit_page.py", line 185, in open_link
        self.term.open_link(data['url_full'])
      File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/terminal.py", line 453, in open_link
        self.open_browser(url)
      File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/terminal.py", line 615, in open_browser
        p.start()
      File "/usr/local/Cellar/[email protected]/3.8.1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/multiprocessing/process.py", line 121, in start
        self._popen = self._Popen(self)
      File "/usr/local/Cellar/[email protected]/3.8.1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/multiprocessing/context.py", line 224, in _Popen
        return _default_context.get_context().Process._Popen(process_obj)
      File "/usr/local/Cellar/[email protected]/3.8.1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/multiprocessing/context.py", line 283, in _Popen
        return Popen(process_obj)
      File "/usr/local/Cellar/[email protected]/3.8.1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/multiprocessing/popen_spawn_posix.py", line 32, in __init__
        super().__init__(process_obj)
      File "/usr/local/Cellar/[email protected]/3.8.1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/multiprocessing/popen_fork.py", line 19, in __init__
        self._launch(process_obj)
      File "/usr/local/Cellar/[email protected]/3.8.1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/multiprocessing/popen_spawn_posix.py", line 47, in _launch
        reduction.dump(process_obj, fp)
      File "/usr/local/Cellar/[email protected]/3.8.1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/multiprocessing/reduction.py", line 60, in dump
        ForkingPickler(file, protocol).dump(obj)
    AttributeError: Can't pickle local object 'Terminal.open_browser.<locals>.open_url_silent'
    
    rtv has crashed. Please report this traceback at:
    https://github.com/michael-lazar/rtv/issues
    
    bug 
    opened by sashaafm 2
  • Crash while trying to sign in

    Crash while trying to sign in

    Greetings! Macbook7.1 Mavericks 10.9.5 Installed rtv using brew and got this error while trying to sign in account (immediately after pressing 'U')

    rtv version: rtv 1.27.0 rtv module path: /usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/main.py python version: 3.8.1 (default, Jan 26 2020, 04:50:57) [Clang 6.0 (clang-600.0.57)] python executable: /usr/local/Cellar/rtv/1.27.0_1/libexec/bin/python3.8 praw version: packaged, commit 1656ec224e57 locale, encoding: ru_RU.UTF-8, UTF-8 Environment Variables BROWSER : DISPLAY : EDITOR : LANG : ru_RU.UTF-8 PAGER : RTV_BROWSER : firefox RTV_EDITOR : RTV_PAGER : RTV_URLVIEWER : TERM : xterm-256color VISUAL : XDG_CONFIG_HOME : XDG_DATA_HOME :

    Traceback (most recent call last): File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/main.py", line 255, in main page = page.loop() File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/page.py", line 94, in loop self.controller.trigger(ch) File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/objects.py", line 604, in trigger return func(self.instance, *args, **kwargs) File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/page.py", line 319, in login self.oauth.authorize() File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/oauth.py", line 190, in authorize self.term.open_browser(authorize_url) File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/terminal.py", line 615, in open_browser p.start() File "/usr/local/Cellar/[email protected]/3.8.1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/multiprocessing/process.py", line 121, in start self._popen = self._Popen(self) File "/usr/local/Cellar/[email protected]/3.8.1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/multiprocessing/context.py", line 224, in _Popen return _default_context.get_context().Process._Popen(process_obj) File "/usr/local/Cellar/[email protected]/3.8.1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/multiprocessing/context.py", line 283, in _Popen return Popen(process_obj) File "/usr/local/Cellar/[email protected]/3.8.1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/multiprocessing/popen_spawn_posix.py", line 32, in init super().init(process_obj) File "/usr/local/Cellar/[email protected]/3.8.1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/multiprocessing/popen_fork.py", line 19, in init self._launch(process_obj) File "/usr/local/Cellar/[email protected]/3.8.1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/multiprocessing/popen_spawn_posix.py", line 47, in _launch reduction.dump(process_obj, fp) File "/usr/local/Cellar/[email protected]/3.8.1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/multiprocessing/reduction.py", line 60, in dump ForkingPickler(file, protocol).dump(obj) AttributeError: Can't pickle local object 'Terminal.open_browser..open_url_silent'

    rtv has crashed. Please report this traceback at: https://github.com/michael-lazar/rtv/issues

    bug 
    opened by loquatdonut 1
  • When pressing < o > key on a reddit post rtv crashes,

    When pressing < o > key on a reddit post rtv crashes, "Can't pickle local object"

    Describe the bug open rtv, scroll down a few posts, press the key to open a post (not sure if that's the actual key to open a post). rtv closes, I get a stack trace and your github account. AttributeError: Can't pickle local object 'Terminal.open_browser.<locals>.open_url_silent'

    Describe your environment `Traceback (most recent call last): File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/main.py", line 223, in main url = requests.head( File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/requests/api.py", line 101, in head return request('head', url, **kwargs) File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/requests/api.py", line 60, in request return session.request(method=method, url=url, **kwargs) File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/requests/sessions.py", line 519, in request prep = self.prepare_request(req) File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/requests/sessions.py", line 452, in prepare_request p.prepare( File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/requests/models.py", line 313, in prepare self.prepare_url(url, params) File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/requests/models.py", line 387, in prepare_url raise MissingSchema(error) requests.exceptions.MissingSchema: Invalid URL 'update': No schema supplied. Perhaps you meant http://update?

    rtv has crashed. Please report this traceback at:`

    • Mojave 10.14.6 installed through homebrew, rtv had just been installed before I opened the program.)
    bug 
    opened by lilyvM8 1
  • Fix incase mpv is not opening anymore

    Fix incase mpv is not opening anymore

    If you are using the default mailcap file provided, mpv will not work anymore with the newer version (0.32) due to an update on the config parsing.

    To fix this problem, simply edit all mpv related config in the .mailcap file from autofit XXXXX to autofit=XXXXX

    Hope it helps for anyone who encounters this problem.

    opened by CosmosAtlas 0
  • Version 1.27.0_1 (from brew) crashed when opening url

    Version 1.27.0_1 (from brew) crashed when opening url

    Describe the bug Brew recently released 1.27.0_1 that I think upped the python requirement to version 3.8 if i am not mistaken. However, now rtv will crash whehever it tries to open an url. From the console output, I deduce the crash may have something to do w/ mailcap being not found or something. But, it's there all along. Anyone faces similar issue?

    Here's the traceback:

    Traceback (most recent call last): File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/terminal.py", line 458, in open_link command, entry = self.get_mailcap_entry(url) File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/terminal.py", line 549, in get_mailcap_entry raise exceptions.MailcapEntryNotFound() rtv.exceptions.MailcapEntryNotFound

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/__main__.py", line 255, in main page = page.loop() File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/page.py", line 97, in loop self.handle_selected_page() File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/subreddit_page.py", line 43, in handle_selected_page self.selected_page = self.selected_page.loop() File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/page.py", line 94, in loop self.controller.trigger(ch) File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/objects.py", line 604, in trigger return func(self.instance, *args, **kwargs) File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/submission_page.py", line 133, in open_link self.term.open_link(link) File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/terminal.py", line 460, in open_link self.open_browser(url) File "/usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/terminal.py", line 615, in open_browser p.start() File "/usr/local/Cellar/[email protected]/3.8.1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/multiprocessing/process.py", line 121, in start self._popen = self._Popen(self) File "/usr/local/Cellar/[email protected]/3.8.1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/multiprocessing/context.py", line 224, in _Popen return _default_context.get_context().Process._Popen(process_obj) File "/usr/local/Cellar/[email protected]/3.8.1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/multiprocessing/context.py", line 283, in _Popen return Popen(process_obj) File "/usr/local/Cellar/[email protected]/3.8.1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/multiprocessing/popen_spawn_posix.py", line 32, in __init__ super().__init__(process_obj) File "/usr/local/Cellar/[email protected]/3.8.1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/multiprocessing/popen_fork.py", line 19, in __init__ self._launch(process_obj) File "/usr/local/Cellar/[email protected]/3.8.1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/multiprocessing/popen_spawn_posix.py", line 47, in _launch reduction.dump(process_obj, fp) File "/usr/local/Cellar/[email protected]/3.8.1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/multiprocessing/reduction.py", line 60, in dump ForkingPickler(file, protocol).dump(obj) AttributeError: Can't pickle local object 'Terminal.open_browser.<locals>.open_url_silent'

    Here's the debug info: rtv version: rtv 1.27.0 rtv module path: /usr/local/Cellar/rtv/1.27.0_1/libexec/lib/python3.8/site-packages/rtv/__main__.py python version: 3.8.1 (default, Dec 27 2019, 18:06:00) [Clang 11.0.0 (clang-1100.0.33.16)] python executable: /usr/local/Cellar/rtv/1.27.0_1/libexec/bin/python3.8 praw version: packaged, commit 1656ec224e57 locale, encoding: C/UTF-8/C/C/C/C, UTF-8 Environment Variables BROWSER : DISPLAY : EDITOR : LANG : PAGER : less RTV_BROWSER : RTV_EDITOR : RTV_PAGER : RTV_URLVIEWER : TERM : xterm-256color VISUAL : XDG_CONFIG_HOME : XDG_DATA_HOME :

    Local environment: OS X Mojave

    bug 
    opened by yohannes 5
  • Option to edit a posted comment.

    Option to edit a posted comment.

    Is your feature request related to a problem? Please describe. I can comment on posts with nano and it's just fine. But, say I made a typo the first time and want to edit it, Can't be done in rtv currently.

    Describe the solution you'd like Can this be added, as a feature maybe? Like maybe an option to edit user comments by the user? A key-binding too?

    Describe alternatives you've considered Open the link in a browser log into my account and edit. Which again completely destroys the aim of rtv.

    new feature 
    opened by srihariash999 0
  • Save option for posts.

    Save option for posts.

    Is your feature request related to a problem? Please describe. I cannot find a save button in the rtv while browsing through posts.

    Describe the solution you'd like A key-binding to save a post to our profiles would be just great!

    Describe alternatives you've considered Open the link in a browser log into my account and save. Which completely destroys the aim of rtv.

    new feature 
    opened by srihariash999 0
  • Add additional required dependencies for pip install to README

    Add additional required dependencies for pip install to README

    Add additional package install steps to resolve errors on Debian based systems.

    I've got 2 errors during installation on Linux Mint.

    1. ImportError: No module named setuptools which was fixed by installing the package python-setuptools
    2. error: invalid command 'bdist_wheel' which was fixed by install pip package wheel

    I've added both steps to the install notes.

    opened by paulvandenburg 0
Releases(v1.27.0)
  • v1.27.0(Jun 2, 2019)

    This is the final release of RTV. See here for more information: https://github.com/michael-lazar/rtv/issues/696

    Features

    • Added a configuration option to toggle whether to open web browser links in a new tab or a new window.

    Documentation

    • Improved the mailcap example for the feh command.
    • Fixed the the descriptions for the j & k keys (they were swapped).
    Source code(tar.gz)
    Source code(zip)
  • v1.26.0(Mar 3, 2019)

    Features

    • Added a brand new inbox page for viewing private messages and comment replies. The inbox is accessible with the i key. Supported actions include viewing message chains and replying to messages, marking messages as read/unread, and opening the context of a comment.
    • Added the ability to compose new private messages with the C key.
    • Updated the inline help ? document to contain a more comprehensive list of commands.
    • Opening a link from the command line is now faster at startup because the default subreddit will not be loaded beforehand.
    • Added a new --debug-info command to display useful system information.

    Bugfixes

    • Fixed opening comments with the prompt / from the subscription window.
    • The subscription and multireddit s/S keys now work from all pages.
    • Relative time strings are now correctly pluralized.
    • Fixed an unclosed file handler when opening the web browser.
    • Fixed the application not starting if the user has an empty front page.

    Configuration Changes

    • Renamed the following keybindings to better represent their usage:

      • SORT_HOT -> SORT_1
      • SORT_TOP -> SORT_2
      • SORT_RISING -> SORT_3
      • SORT_NEW -> SORT_4
      • SORT_CONTROVERSIAL -> SORT_5
      • SORT_GILDED -> SORT_6
      • SUBREDDIT_OPEN_SUBSCRIPTIONS -> SUBSCRIPTIONS
      • SUBREDDIT_OPEN_MULTIREDDITS -> MULTIREDDITS
    • Added new keybindings to support the inbox page:

      • SORT_7
      • PRIVATE_MESSAGE
      • INBOX_VIEW_CONTEXT
      • INBOX_OPEN_SUBMISSION
      • INBOX_REPLY
      • INBOX_MARK_READ
      • INBOX_EXIT
    • Added new theme elements to support the inbox page:

      • <New>
      • <Distinguished>
      • <MessageSubject>
      • <MessageLink>
      • <MessageAuthor>
      • <MessageSubreddit>
      • <MessageText>
    Source code(tar.gz)
    Source code(zip)
  • v1.25.1(Feb 13, 2019)

  • v1.25.0(Feb 3, 2019)

    Features

    • You can now open HTML links that are embedded inside of comments and submissions by pressing the ENTER key and selecting a link from the list. This also works when copying links to the clipboard using Y.
    • Added the --no-autologin command line argument to disable automatically logging in at startup.
    • Added the max_pager_cols configuration option to limit the text width when sending text to the system PAGER.
    • Additional filtering options have been added when viewing user pages.
    • The gilded flair now displays the number of times a submission has been gilded.
    • Submissions/comments now display the time that they were most recently edited.

    Bugfixes

    • Fixed the MIME parser for gfycat, and gfycat videos are now downloaded as mp4.
    • Fixed formatting when composing posts with leading whitespace.
    • Fixed crash when attempting to display a long terminal title.

    Documentation

    • RTV has been moved to the Arch Community Repository and installation instructions for Arch have been updated accordingly.
    Source code(tar.gz)
    Source code(zip)
  • v1.24.0(Aug 12, 2018)

    Features

    • Python 3.7 is now officially supported.
    • Lines that start with the hash symbol (#) are no longer ignored when composing posts in your editor. This allows # to be used with Reddit's markdown parser to denote headers.
    • Added a new dark colorblind theme.
    • Added support for the $RTV_PAGER environment variable, which can be used to set a unique PAGER for rtv.
    • Added the ability to sort submissions by guilded.

    Bugfixes

    • Fixed a crash when setting the $BROWSER with python 3.7.
    • Improved the error message when attempting to vote on an archived post.
    • Cleaned up several outdated MIME parsers. Removed the vidme, twitch, oddshot, and imgtc parsers. Fixed the liveleak and reddit video parsers.
    Source code(tar.gz)
    Source code(zip)
  • v1.23.0(Jun 24, 2018)

    Features

    • Submissions can now be marked as [hidden] using the space key. Hidden submissions will be removed from the feed when the page is reloaded.
    • New MIME parsers have been added for vimeo.com and streamja.com.
    • Added support for opening links with qutebrowser.

    Bugfixes

    • Fixed unhandled OAuth server log messages being dumped to stdout.
    • Fixed the application crashing when performing rate-limited requests.
    • Fixed crash when displaying posts that contain null byte characters.

    Documentation

    • Added README badge for saythanks.io.
    • Updated the mailcap template to support v.redd.it links.
    Source code(tar.gz)
    Source code(zip)
  • v1.22.1(Mar 11, 2018)

    I forgot to check in a commit before publishing the 1.22.0 release (whoops!)

    Bugfixes

    • Updated the __version__.py file to report the current version.
    • Added the missing v1.22.0 entry to the CHANGELOG.
    Source code(tar.gz)
    Source code(zip)
  • v1.22.0(Mar 7, 2018)

    Features

    • Added the --no-flash option to disable terminal flashing.

    Bugfixes

    • Fixed automatically exiting on launch when trying to open an invalid subreddit with the -s flag.
    • Fixed error handling for HTTP request timeouts when checking for new messages in the inbox.
    • Fixed a typo in the sample theme config.

    Documentation

    • Added the FreeBSD package to the README.
    Source code(tar.gz)
    Source code(zip)
  • v1.21.0(Dec 30, 2017)

    Features

    • Full support for customizable themes has been added. For more information, see the new section on themes in the README, and the THEMES.md file.

    Bugfixes

    • Fixed incorrect URL strings being sent to the opera web browser.
    • Fixed timeout messages for the surf and vimb web browsers.
    • Switched to using XDG_DATA_HOME to store the rtv browser history and credentials file.
    Source code(tar.gz)
    Source code(zip)
  • v1.20.0(Dec 5, 2017)

    Features

    • Text piped to the $PAGER will now wrap on word / sentence breaks.
    • New MIME parsers have been added for liveleak.com and worldstarhiphop.com.

    Bugfixes

    • Fixed a regression where text from the web browser's stdout/stderr was being sent to the terminal window.
    • Fixed crashing on startup when the terminal doesn't support colors.
    • Fixed broken text formatting when running inside of emacs term.

    Codebase

    • Dropped support for python 3.3 because it's no longer supported upstream by pytest. The application will still install through pip but will no longer be tested.
    • Added a text logo to the README.
    Source code(tar.gz)
    Source code(zip)
  • v1.19.0(Oct 24, 2017)

    Features

    • Greatly improved loading times by using smarter rate limiting and page caching.
    • The logout prompt is now visible as a popup notification.
    • New MIME parsers have been added for gifs.com, giphy.com, imgtc.com, imgflip.com, livememe.com, makeameme.org and flickr.com
    • Improved mailcap examples for parsing video links with mpv.

    Bugfixes

    • Patched a backwards-incompatible Reddit API change with the comment permalink now being returned in the response JSON.
    • Fixed crashing when a comment contained exotic unicode characters like emojis.
    • Removed the option to select custom sorting ranges for controversial and top comments.
    • Fixed MIME parsing for single image Imgur galleries.

    Codebase

    • Preliminary refactoring for the upcoming theme support.
    • Created some utility scripts for project maintenance.
    • Created a release checklist document.
    • Updated the README gif images and document layout.
    Source code(tar.gz)
    Source code(zip)
  • v1.18.0(Sep 6, 2017)

    Features

    • The rtv -l flag has been deprecated and replaced with a positional argument, in order to match the syntax of other command line web browsers.
    • NSFW content is now filtered according to the user's reddit profile settings.
    • $RTV_BROWSER has been added as a way to set the preferred web browser.
    • Sorting options for relevance and comments are now displayed on the search results page.
    • An [S] badge is now displayed next to the submission author.
    • The gfycat MIME parser has been expanded to support more URLs.
    • New MIME parsers have been added for oddshot.tv, clips.twitch.tv, clippituser.tv, and Reddit's beta hosted videos.

    Bugfixes

    • Users can now use the prompt to navigate to "/comments/..." pages from inside of a submission.
    • Users can now navigate to multireddits using the "/u/me/" prefix.
    • Fixed the $BROWSER behavior on macOS to support the chrome, firefox, safari, and default keywords.

    Codebase

    • Travis CI tests have been moved to the trusty environment.
    • Added more detailed logging of the environment and settings at startup.
    Source code(tar.gz)
    Source code(zip)
  • v1.17.1(Aug 6, 2017)

  • v1.17.0(Aug 3, 2017)

    Features

    • Added the J command to jump to the next sibling comment.
    • Added the K command to jump to the parent comment.
    • Search results can now be sorted, and the title bar has been updated to display the current search query.
    • Imgur URLs are now resolved via the Imgur API. This enables the loading of large albums with over 10 images. An imgur_client_id option has been added to the RTV configuration.
    • A MIME parser has been added for www.liveleak.com.
    • RTV now respects the $VISUAL environment variable.

    Bugfixes

    • Fixed a screen refresh bug on urxvt terminals.
    • New key bindings will now attempt to fallback to their default key if not defined in the user's configuration file.

    Documentation

    • Added additional mailcap examples for framebuffer videos and iTerm2.
    • Python version information is now captured in the log at startup.
    Source code(tar.gz)
    Source code(zip)
  • v1.16.0(Jun 9, 2017)

    Features

    • Added the ability to copy links to the OS clipboard with y and Y.
    • Both submissions and comments can now be viewed on /user/ pages.
    • A MIME parser has been added for www.streamable.com.
    • A MIME parser has been added for www.vidme.com.
    • Submission URLs can now be opened while viewing the comments page.

    Bugfixes

    • More graceful handling for the invalid LOCALE error on MacOS.
    • A fatal error is now raised when trying to run on Windows without curses.
    • Fixed an error when trying to view saved comments.
    • Invalid refresh-tokens are now automatically deleted.
    • Users who are signed up for Reddit's beta profiles can now launch RTV.
    Source code(tar.gz)
    Source code(zip)
  • v1.15.1(Apr 9, 2017)

    Codebase

    • Removed the mailcap-fix dependency for python versions >= 3.6.0.
    • Enabled installing test dependencies with pip install rtv[test].
    Source code(tar.gz)
    Source code(zip)
  • v1.15.0(Mar 31, 2017)

    Features

    • Added the ability to open comment threads using the submission's permalink. E.g. /comments/30rwj2

    Bugfixes

    • Updated requests requirement to fix a bug in version 2.3.0.
    • Fixed an edge case where comment trees were unfolding out of order.

    Codebase

    • Removed dependency on the PyPI praw package. A version of PRAW 3 is now bundled with rtv. This should make installation easier because users are no longer required to maintain a legacy version of praw in their python dependencies.
    • Removed update-checker dependency.
    Source code(tar.gz)
    Source code(zip)
  • v1.14.1(Jan 12, 2017)

    Features

    • The order-by option menu now triggers after a single '2' or '5' keystroke instead of needing to double press.

    Bugfixes

    • Mailcap now handles multi-part shell commands correctly, e.g. "emacs -nw"
    • OS X no longer relies on $DISPLAY to check if there is a display available.
    • Added error handling for terminals that don't support hiding the cursor.
    • Fixed a bug on tmux that prevented scrolling when $TERM was set to "xterm-256color" instead of screen.

    Documentation

    • Added section to FAQ about garbled characters output by curses.
    Source code(tar.gz)
    Source code(zip)
  • v1.13.0(Oct 17, 2016)

    Features

    • Pressing 2 or 5 twice now opens a menu to select the time frame.
    • Added the hide_username config option.
    • Added the max_comment_cols config option.

    Bugfixes

    • Fixed the terminal title from displaying b'' in py3.
    • Flipped j and k in the documentation.
    • Fixed bug when selecting post order for the front page.
    • Added more descriptive error messages for invalid subreddits.
    Source code(tar.gz)
    Source code(zip)
  • v1.12.1(Sep 27, 2016)

    Bugfixes

    • Fixed security vulnerability where malicious URLs could inject python code.
    • No longer hands when using mpv on long videos.
    • Now falls back to ascii mode when the system locale is not utf-8.
    Source code(tar.gz)
    Source code(zip)
  • v1.12.0(Aug 25, 2016)

    Features

    • Added a help banner with common key bindings.
    • Added gg and G bindings to jump to the top and bottom the the page.
    • Updated help screen now opens with the system PAGER.
    • The / prompt now works from inside of submissions.
    • Added an Instagram parser to extract images and videos from urls.

    Bugfixes

    • Shortened reddit links (https://redd.it/) will now work with -s.

    Codebase

    • Removed the Tornado dependency from the project.
    • Added a requirements.txt file.
    • Fixed a bunch of tests where cassettes were not being generated.
    • Added compatibility for pytest-xdist.
    Source code(tar.gz)
    Source code(zip)
  • v1.11.0(Aug 3, 2016)

    Features

    • Added the ability to open image and video urls with the user's mailcap file.
    • New --enable-media and copy-mailcap commands to support mailcap.
    • New command w to save submissions and comments.
    • New command p to toggle between the front page and the last visited subreddit.
    • New command S to view subscribed multireddits.
    • Extended / prompt to work with users, multireddits, and domains.
    • New page /u/saved to view saved submissions.
    • You can now specify the sort period by appending -(period), E.g. /r/python/top-week.

    Bugfixes

    • Terminal title is now only set when $DISPLAY is present.
    • Urlview now works on the submission as well as comments.
    • Fixed text encoding when using urlview.
    • Removed futures dependency from the python 3 wheel.
    • Unhandled resource warnings on exit are now ignored.

    Documentation

    • Various README updates.
    • Updated asciinema demo video.
    • Added script to update the AUTHORS.rst file.
    Source code(tar.gz)
    Source code(zip)
  • v1.10.0(Jul 12, 2016)

    Features

    • New command, b extracts urls from comments using urlviewer.
    • Comment files will no longer be destroyed if RTV encounters an error while posting.
    • The terminal title now displays the subreddit name/url.

    Bugfixes

    • Fixed crash when entering empty or invalid subreddit name.
    • Fixed crash when opening x-posts linked to subreddits.
    • Fixed a bug where the terminal title wasn't getting set.
    • /r/me is now displayed as My Submissions in the header.
    Source code(tar.gz)
    Source code(zip)
  • v1.9.1(Jun 14, 2016)

    Features

    • Better support for /r/random.
    • Added a monochrome config setting to disable all color.
    • Improved cursor positioning when expanding/hiding comments.
    • Show (not enough space) when comments are too large.

    Bugfixes

    • Fixed permissions when copying the config file.
    • Fixed bug where submission indicies were duplicated when paging.
    • Specify praw v3.4.0 to avoid installing praw 4.

    Documentation

    • Added section to the readme on Arch Linux installation.
    • Updated a few argument descriptions.
    • Added a proper ascii logo.
    Source code(tar.gz)
    Source code(zip)
  • v1.9.0(Apr 6, 2016)

    Features

    • You can now open long posts/comments with the $PAGER by pressing l.
    • Changed a couple of visual separators.

    Documentation

    • Added testing instructions to the FAQ.
    Source code(tar.gz)
    Source code(zip)
  • v1.8.1(Mar 2, 2016)

    Features

    • All keys are now rebindable through the config.
    • New bindings - ctrl-d and ctrl-u for page up / page down.
    • Added tag for stickied posts and comments.
    • Added bullet between timestamp and comment count.

    Bugfixes

    • Links starting with np.reddit.com no longer return Forbidden.

    Documentation

    • Updated README.
    Source code(tar.gz)
    Source code(zip)
  • v1.8.0(Dec 20, 2015)

    Features

    • A banner on the top of the page now displays the selected page sort order.
    • Hidden scores now show up as "- pts".
    • Oauth settings are now accesible through the config file.
    • New argument --config specifies the config file to use.
    • New argument --copy-config generates a default config file.

    Documentation

    • Added a keyboard reference from keyboardlayouteditor.com
    • Added a link to an asciinema demo video
    Source code(tar.gz)
    Source code(zip)
  • v1.7.0(Dec 9, 2015)

    Note This version comes with a large change in the internal structure of the project, but does not break backwards compatibility. This includes adding a new test suite that will hopefully improve the stability of future releases.

    Continuous Integration additions

    • Travis-CI https://travis-ci.org/michael-lazar/rtv
    • Coveralls https://coveralls.io/github/michael-lazar/rtv
    • Gitter (chat) https://gitter.im/michael-lazar/rtv
    • Added a tox config for local testing
    • Added a pylint config for static code and style analysis
    • The project now uses VCR.py to record HTTP interactions for testing.

    Features

    • Added a wider utilization of the loading screen for functions that make reddit API calls.
    • In-progress loading screens can now be cancelled by pressing the Esc key.

    Bugfixes

    • OSX users should now be able to login using OAuth.
    • Comments now return the correct nested level when loading "More Comments".
    • Several unicode fixes, the project is now much more consistent in the way that unicode is handled.
    • Several undocumented bug fixes as a result of the code restructure.
    Source code(tar.gz)
    Source code(zip)
  • v1.6.1(Oct 20, 2015)

    Bugfixes

    • Fixed authentication checking for /r/me.
    • Added force quit option with the Q key.
    • Removed option to sort subscriptions.
    • Fixed crash with pressing i when not logged in.
    • Removed futures requirement from the python 3 distribution.

    Documentation

    • Updated screenshot in README.
    • Added section to the FAQ on installation.
    Source code(tar.gz)
    Source code(zip)
  • v1.6(Oct 15, 2015)

    Features

    • Switched all authentication to OAuth.
    • Can now list the version with rtv --version.
    • Added a man page.
    • Added confirmation prompt when quitting.
    • Submissions now display the index in front of their title.

    Bugfixes

    • Streamlined error logging.

    Documentation

    • Added missing docs for the i key.
    • New documentation for OAuth.
    • New FAQ section.
    Source code(tar.gz)
    Source code(zip)
Owner
Michael Lazar
Software Engineer
Michael Lazar
:mag: Google from the terminal

googler is a power tool to Google (web, news, videos and site search) from the command-line. It shows the title, URL and abstract for each result, whi

Piña Colada 5.2k Jun 6, 2021
:bookmark: Browser-independent bookmark manager

buku buku in action! Introduction buku is a powerful bookmark manager written in Python3 and SQLite3. When I started writing it, I couldn't find a fle

Piña Colada 4.5k Jun 6, 2021
:speech_balloon: Command-line translator using Google Translate, Bing Translator, Yandex.Translate, etc.

Translate Shell Translate Shell (formerly Google Translate CLI) is a command-line translator powered by Google Translate (default), Bing Translator, Y

Mort Yao 5k Jun 6, 2021
Linux Kernel Manager and Activity Monitor 🐧💻

Linux Kernel Manager and Activity Monitor ?? ?? The kernel is the part of the operating system that facilitates interactions between hardware and soft

Orhun Parmaksız 1.2k Jun 1, 2021
Terminal-based CPU stress and monitoring utility

The Stress Terminal UI: s-tui Stress-Terminal UI, s-tui, monitors CPU temperature, frequency, power and utilization in a graphical way from the termin

Alex Manuskin 2.6k Jun 3, 2021
A smart and nice Twitter client on terminal written in Python.

A Note about Twitter API Change Heads-up! As Twitter discontinues supporting Stream API, RainbowStream's stream function has been stopped working for

orakaro.targaryen 3.3k May 31, 2021
:duck: DuckDuckGo from the terminal

ddgr ddgr is a cmdline utility to search DuckDuckGo (html version) from the terminal. While googler is extremely popular among cmdline users, in many

Piña Colada 2.1k Jun 5, 2021
🎨 Generate and change color-schemes on the fly.

Generate and change color-schemes on the fly. Pywal is a tool that generates a color palette from the dominant colors in an image. It then applies the

dylan 5.3k Jun 5, 2021
Notifies you when long-running terminal commands complete

undistract-me Notifies you when long-running terminal commands complete. What is this? Does this ever happen to you? You're doing some work, and as pa

Jonathan Lange 471 Jun 2, 2021
System monitoring dashboard for terminal

gtop System monitoring dashboard for terminal. Requirements Linux / OSX / Windows (partial support) Node.js >= v8 Installation $ npm install gtop -g D

Can Güney Aksakalli 8.5k Jun 5, 2021
A smarter cd command for your terminal

zoxide A smarter cd command for your terminal zoxide is a blazing fast replacement for your cd command, inspired by z and z.lua. It keeps track of the

Ajeet D'Souza 2.7k Jun 6, 2021
A new way to see and navigate directory trees : https://dystroy.org/broot

Broot A better way to navigate directories Install Broot Get an overview of a directory, even a big one br -s Notice the unlisted? That's what makes i

Canop 5.4k Jun 6, 2021
A Ruby gem that beautifies the terminal's ls command, with color and font-awesome icons. :tada:

Color LS A Ruby script that colorizes the ls output with color and icons. Here are the screenshots of working example on an iTerm2 terminal (Mac OS),

Athitya Kumar 3.7k Jun 6, 2021
Command-line program to download image galleries and collections from several image hosting sites

gallery-dl gallery-dl is a command-line program to download image galleries and collections from several image hosting sites (see Supported Sites). It

Mike Fährmann 3.4k Jun 7, 2021