Giter Site home page Giter Site logo

tooters's Introduction

Tooters: A Rust TUI-based Mastodon App

Tooters is a Rust-based Terminal User Interface (TUI) Mastodon app.

The project was created as a means to learn Rust and scratch a personal itch See the awesome python based toot, for something more complete.

Visit our website at toot.rs for more information and updates.

asciicast

Status

Experimental, work in progress.

Known issues

  • does not load second page of toots (yet)

Features

  • View multiple toots on the screen at once
  • Rust-based TUI for a fast and efficient user experience
  • Easy navigation and interaction with toots

Installation

To install Tooters, you need to have Rust and Cargo installed on your system. If you don't have them installed, follow the instructions on the official Rust website.

Once Rust and Cargo are installed, you can install Tooters by running the following command:

cargo install tooters --locked

Usage

To start using Tooters, simply run the following command in your terminal:

tooters

You will be prompted to enter your Mastodon instance URL and login credentials. Once logged in, you can navigate and interact with toots using the keyboard shortcuts provided.

Keyboard Shortcuts

  • j or : Move down
  • k or : Move up
  • h or : Move left (switch column)
  • l or : Move right (switch column)
  • n: Compose a new toot
  • r: Reply to the selected toot
  • b: Boost the selected toot
  • f: Favourite the selected toot
  • q: Quit

License

Copyright (c) 2023-2024 Josh McKinney

This project is licensed under either of:

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

See CONTRIBUTING.md.

tooters's People

Contributors

joshka avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

tooters's Issues

Login is not working correctly

The login flow is not yet working correctly. I've been testing with a preconfigured mastodon-data.toml file that I created outside of this app.

stateDiagram-v2
    LoggingIn: Logging In
    [*] --> LoadingCredentialsFile
    LoadingCredentialsFile --> VerifyingCredentials: load_credentials success
    LoadingCredentialsFile --> LoggingIn: load_credentials error
    VerifyingCredentials --> LoggedIn: verify_credentials success
    VerifyingCredentials --> LoggingIn: verify_credentials error
    LoggedIn --> [*]: send LoggedIn event
    LoggingIn --> VerifyingCredentials
    state LoggingIn {
        [*] --> InputServerUrl
        InputServerUrl --> RegisteringApp: read_server_url success
        InputServerUrl --> InputServerUrl: read_server_url error
        RegisteringApp --> InputAuthenticationCode: register_app success
        RegisteringApp --> InputServerUrl: register_app error
        InputAuthenticationCode --> CompleteAuth: read_authentication_code success
        InputAuthenticationCode --> InputServerUrl: read_authentication_code error
        CompleteAuth --> SavingCredentialsFile: complete_registration success
        CompleteAuth --> InputServerUrl: complete_registration error
        SavingCredentialsFile --> [*] : save_credentials success
        SavingCredentialsFile --> InputServerUrl: save_credentials error
    }
Loading

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.