Twitch chat in the terminal.

Overview

Twitch chat in the terminal.

What it looks like:

image

Keybinds:

Normal mode
Key Description
c Go to the chat window chat.
i Enter input mode for sending messages. Exit this mode with Esc.
? Have the keybinds window appear.
q Quit out of the entire application.
Esc Exits out of layered windows, such as going from input mode, to normal, to exiting the application.
Input mode
Key Description
Ctrl + w Cuts a single word (from the cursor to the next whitespace)
Ctrl + u Cuts the entire line
Ctrl + f Move cursor to the right
Ctrl + b Move cursor to the left
Ctrl + a Move cursor to the start
Ctrl + e Move cursor to the end
Alt + f Move to the end of the next word
Alt + b Move to the start of the previous word
Ctrl + t Swap previous item with current item
Alt + t Swap previous word with current word
Ctrl + u Remove everything before the cursor
Ctrl + k Remove everything after the cursor
Ctrl + w Remove the previous word
Ctrl + d Remove item to the right
Tab Cycle right through the input tabs
Shift + Tab Cycle left through the input tabs
Enter Confirm the input text to go through
Esc Drop back to previous window layer

Setup:

  1. Make sure you have Cargo installed from rust-lang website. Make sure the Cargo binary folder is appended to your $PATH environment variable.
  2. Get an OAuth token from Twitch, and have it ready to put into the token variable in the config.toml file that you create. This config.toml file should be created in ~/.config/twt/config.toml if you're on Linux or MacOS. If on Windows, place it in %appdata%\twt\config.toml instead.
  3. Run cargo install twitch-tui and follow the instructions that it prints.
  4. You should now be able to run twt from anywhere now. To update in the future, run cargo install twitch-tui. Have fun!

More information:

  • This project used to be named terminal-twitch-chat, but was renamed to twitch-tui in version 1.2.2.
Comments
  • Add support for emotes via `emote_mapper`

    Add support for emotes via `emote_mapper`

    I'm not sure if this makes sense to have in here.

    I use it for my self, but as you want to implement Emotes via different means, this might be redundant, as using emote_mapper is not very ergonomic.

    You need to create a font with twitchmote, install the font file and configure twt to use it.

    type: enhancement size/M area: frontend 
    opened by ModProg 13
  • High CPU usage

    High CPU usage

    Describe the bug: High CPU usage

    To Reproduce: twt

    Expected behavior: low CPU

    Screenshots: TBD

    System:

    • Twitch-tui version:1.6.0

    • Operating System:5.18.12-artix-1

    • Terminal:st

    • Shell:zsh

    Add any other context about the problem here. Issue is not consistent

    type: bug 
    opened by aravinat21 10
  • Often at startup, twitch-tui does not connect and does not throw any error

    Often at startup, twitch-tui does not connect and does not throw any error

    Describe the bug: This is a hard bug to describe as it's not persistent, and can't be accuratly reproduced.

    The best I've got is that sometimes, when loading twt, it fails to connect to the chat, without throwing any error - I only see an empty list with the "Time / Username / Message content" header.

    To Reproduce: No good way to reproduce unfortunately.

    Screenshots: image

    System: Mac OS 12.2.1

    • Twitch-tui version: 1.6.0

    • Terminal: iTerm2 3.4.15

    • Shell: zsh

    type: bug area: backend 
    opened by jbkkd 10
  • No config file generated upon running twt

    No config file generated upon running twt

    Fresh install. Ran twt as instructed:

    Configuration not found. Create a config file at '/home/jtm/.config/twt/config.toml', and see 'https://github.com/Xithrius/twitch-tui/blob/main/default-config.toml' for an example configuration.
    

    twitch-tui 1.6.0 compiled on fedora with cargo 1.62.0


    By the way, incredibly cool project, v glad you were inspired to give us this. Pairs great with streamlink/mpv.

    image

    opened by shmup 9
  • Config files/directories don't get generated

    Config files/directories don't get generated

    Describe the bug:

    In step 3, from the README, it says that the default configuration paths get generated, but that wasn't the case when running it on Windows 10. Instead, this is what I get below.

    Configuration not found. Create a config file at 'C:\Users\ME\AppData\Roaming\twt\config.toml', and see 'https://github.com/Xithrius/twitch-tui/blob/main/default-config.toml' for an example configuration.

    To Reproduce:

    1. Install twt using cargo install.
    2. Run twt in the terminal, from README step 3.
    3. Go to APPDATA to get to configurations, given the twt directory.

    The directory and config file(s) isn't there. I checked all the directories in my ~/AppData, just in case and found nothing. Even checked ~/.config, although this is a Windows machine so there shouldn't be anything there.

    Expected behavior:

    I expected a directory at %APPDATA%\twt (PowerShell: $env:APPDATA\twt).

    Screenshots:

    System:

    • Twitch-tui version: 1.6.0
    • Operating System: Windows 10 Pro - Version 10.0.19044 Build 19044
    • Terminal: Windows Terminal
    • Shell: PowerShell

    Additional context: Add any other context about the problem here.

    I use the same context on Linux machines, which is why I have directories like ~/.config.

    type: bug area: backend 
    opened by AceofSpades5757 7
  • Bump tui from 0.15.0 to 0.16.0

    Bump tui from 0.15.0 to 0.16.0

    Bumps tui from 0.15.0 to 0.16.0.

    Release notes

    Sourced from tui's releases.

    v.0.16.0

    Features

    • Update crossterm to 0.20.
    • Add From<Cow<str>> implementation for text::Text (#471).
    • Add option to right or center align the title of a widgets::Block (#462).

    Fixes

    • Apply label style in widgets::Gauge and avoid panics because of overflows with long labels (#494).
    • Avoid panics because of overflows with long axis labels in widgets::Chart (#512).
    • Fix computation of column widths in widgets::Table (#514).
    • Fix panics because of invalid offset when input changes between two frames in widgets::List and widgets::Chart (#516).
    Changelog

    Sourced from tui's changelog.

    v0.16.0 - 2021-08-01

    Features

    • Update crossterm to 0.20.
    • Add From<Cow<str>> implementation for text::Text (#471).
    • Add option to right or center align the title of a widgets::Block (#462).

    Fixes

    • Apply label style in widgets::Gauge and avoid panics because of overflows with long labels (#494).
    • Avoid panics because of overflows with long axis labels in widgets::Chart (#512).
    • Fix computation of column widths in widgets::Table (#514).
    • Fix panics because of invalid offset when input changes between two frames in widgets::List and widgets::Chart (#516).
    Commits
    • 7870793 Release v0.16.0
    • a7c21a9 fix(widgets): avoid offset panic in Table and List when input changes
    • 914d54e chore: bump crossterm to 0.20
    • a68e38e fix(table): use Layout in table column widths computation
    • e870e5d feat(layout): add private option to control last chunk expansion
    • 29387e7 Add battleship.rs
    • 8eb6336 refactor(widgets): remove iter::repeat for blank symbols
    • 34a2be6 fix(widgets/chart): remove panics with long axis labels
    • fbd8344 doc(widgets/clear): clarify usage of clear
    • 8da5f74 refactor(examples): show more use case in gauge example
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    area: dependencies size/XS 
    opened by dependabot[bot] 7
  • Roadmap.

    Roadmap.

    Highest priority at the top, lowest at the bottom.

    • [x] GitHub Workflows.
    • [x] Precommit.
    • [x] Dependabot.
    • [ ] Scrolling:
      • [x] Auto
      • [ ] Manual
        • [ ] Bold text on selection
        • [ ] Actions on select (copy text, delete message, etc)
    • [x] https://github.com/Xithrius/terminal-twitch-chat/pull/7
    • [x] https://github.com/Xithrius/terminal-twitch-chat/pull/10
    • [x] https://github.com/Xithrius/terminal-twitch-chat/pull/14
    • [ ] Seeing who's in chat in a different window.
    • [ ] Document everything.
    • [ ] Command suggestions (if possible).
    • [x] https://github.com/Xithrius/terminal-twitch-chat/pull/17
    • [ ] Cycle through different chats by ctrl + tab and ctrl + shift + tab for right/left movement.
    • [ ] Unit test as much as necessary.
    area: documentation type: enhancement help wanted hacktoberfest 
    opened by Xithrius 7
  • Feat/yoink gh pages workflow

    Feat/yoink gh pages workflow

    Yoinked!!

    Description

    Setting up (yoinking) a rust doc workflow and publishing it to gh pages.

    Note: need to set up github pages with the main as the branch and docs as the root.

    Closes #232

    area: documentation type: enhancement size/L hacktoberfest-accepted 
    opened by Nadhum 6
  • Doesn't show messages if channel name has uppercase characters

    Doesn't show messages if channel name has uppercase characters

    Describe the bug: If the channel name has uppercase letters in it, no messages are loaded.

    To Reproduce:

    1. Either provide a channel with uppercase letters in it in the config or with -c
    2. Run twt
    3. See bug

    Screenshots: test Left side is twt -c xqc, right side is twt -c xQc

    System:

    • Twitch-tui version: tested on 1.6.0, 2.0.0-alpha.11

    • Operating System: Arch Linux w/ kernel 5.19.11-xanmod1-1-x64v2

    • Terminal: alacritty 0.10.1

    • Shell: zsh 5.9

    Additional context: I pipe this script to see which channels that I follow are online into dmenu to open twt and streamlink. The channel name given by that script is the name that shows up on twitch, so it might have uppercase letters. It's not a big deal, I just convert the uppercase letters to lowercase in my dmenu script, but I was wondering what causes this issue, because in the logs it says that it connected to the irc channel and it even shows the info (like follower mode, slow mode etc.)

    type: bug area: backend 
    opened by Rik034 6
  • Add twitch badges

    Add twitch badges

    Closes #84

    Add support for twitch badges by adding some emotes in the beginning of the username.

    Support badges:

    • vip :gem:
    • moderator :hammer:
    • subscriber :star:
    • prime gaming :crown:
    type: enhancement size/M area: frontend 
    opened by balroggg 6
  • Add clap

    Add clap

    Add parsing cli arguments by clap crate.

    Add parsing some vars from config:

    • twitch channel
    • tick delay
    • max messages
    • date shown
    • maximum username length
    • username alignment
    • palette

    Example:

    Running `target/debug/twt -h`
    twitch-tui 1.4.1
    Xithrius
    Twitch chat in the terminal.
    
    USAGE:
        twt [OPTIONS]
    
    FLAGS:
        -h, --help       Prints help information
        -V, --version    Prints version information
    
    OPTIONS:
        -c, --channel <CHANNEL>                         The streamer's name
        -s, --date-shown <true/false>                   If the time and date is to be shown
        -m, --max-messages <MESSAGES>                   The maximum amount of messages to be stored
        -u, --maximum-username-length <LENGTH>          The longest a username can be
        -p, --palette <PALETTE>
                The color palette for the username column: pastel (default), vibrant, warm, cool
    
        -t, --tick-delay <DELAY>                        The delay in milliseconds between terminal updates
        -a, --username-alignment <left/center/right>    Side the username should be aligned to
    

    Fix issue with text alignment. Now column with Username crop without error(maybe add some minimal value of crop, length of string Username or max value of any username in chat).

    type: enhancement size/M area: backend 
    opened by balroggg 6
  • University slows project progress once again.

    University slows project progress once again.

    Got a large stack of classes on top of me, so won't be active around this project for a bit.

    Winter break is approaching in a couple weeks, so things should pick up then.

    type: bug 
    opened by Xithrius 0
  • 2.0 is going to be released soonish.

    2.0 is going to be released soonish.

    I don't have a specific date, but it's definitely going to be soon.

    I'm working out any small features/bugs I've left behind, but it's about time that this is released. 1.6.0 was released in December of 2021, which is nuts.

    I don't want people to depend on alphas for good features such as filtering, message search, and especially scrolling.

    I will work out #222, modify the documentation to include more things if needed, replace the screenshot on in the README with an up-to-date one, and we'll be good to go.

    type: enhancement 
    opened by Xithrius 0
  • AUR, ppt, ..., F-Droid?

    AUR, ppt, ..., F-Droid?

    With v2.0 on the horizon, perhaps it's time to consider where this should be available.

    The AUR has already been discussed and will be done eventually. Uploading to ppts will need additional research since I don't have access to a debian-based machine.

    Perhaps an F-Droid app can be created? That would be neat.

    type: enhancement 
    opened by Xithrius 0
  • Side bar for user followers

    Side bar for user followers

    Add a sidebar to the left (like Twitch's website) to see who's live, and who's offline.

    No matter the state of the followed user, they list should be able to be scrolled through, and then some action will be taken to enter the chat.

    This will be added after 2.0 to avoid scope creep of that release.

    type: enhancement area: keybinds area: frontend 
    opened by Xithrius 0
  • Start screen

    Start screen

    Similar to the Doom Emacs start screen (top left) or vim-startify, this project should have one of its own.

    This isn't going to be implemented in 2.0, it shall be done at a later time.

    type: enhancement area: frontend 
    opened by Xithrius 0
Releases(v2.0.0-rc.1)
  • v2.0.0-rc.1(Oct 28, 2022)

    With the full release of v2.0.0 on the horizon, it's time for the first release candidate.

    Additions

    • With the power of GitHub pages, new documentation with more intuitive instructions are available at https://xithrius.github.io/twitch-tui/. Thank you to @Nadhum in #233 for implementing this! :heart:
    • Hitting / or @ in normal mode will put the user into insert mode with the previously mentioned characters at the start of the box.
      • / for commands.
      • @ for mentioning users.
    • During #240 it was discussed that environment variables should be an option when using the Twitch token, and that's included in this release. Use the TWT_TOKEN environment variable to set your twitch-tui token.
    • The config and CLI now allow for a user to specify a starting mode, besides the default normal. Modes include normal, insert, help, channel, and search.

    Changes

    • The clap dependency was upgraded to version 4.0 in #227, which allows for a more consistent way of creating possible CLI argument values when developing.

    Even more information

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v2.0.0-alpha.12...v2.0.0-rc.1

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-rc.1".

    Documentation available here.

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.12(Sep 28, 2022)

    • State tabs have been implemented.
      • They show themselves at the bottom of the screen, disabled by default.
      • To enable this feature, set [frontend]'s attribute of state_tabs to true in your config.toml file.
    • Connecting to channels with uppercase letters in the name would cause the internal IRC client to not connect.
      • This feature was caught by @Rik034, and resolved in #223! :heart:
      • The user is still allowed to input channel names with uppercase characters, they'll just be converted to a lowercase string internally.
    • q quits the application when in a non-insert mode, such as the help window.
    • /clear actually works on the client side, when permissions are had.
    • The help window is no longer a popup (takes up the entire window), and also has better readability. image

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v2.0.0-alpha.11...v2.0.0-alpha.12

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-alpha.12".

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.11(Sep 9, 2022)

    Instead of using multiple buffers for different input boxes along with a hashmap to bind states to said input buffers, I have reduced the total amount of previously previously said input buffers to just one.

    This will decreases computer resource very little. Save states may be put back in as a feature in the future, if/when I create a better implementation.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v2.0.0-alpha.10...v2.0.0-alpha.11

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-alpha.11".

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.10(Sep 8, 2022)

    • Nothing much has changed for users besides highlighting their username in chat, with #206 merged.
    • For developers, faster builds, and more abstraction of functions.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v2.0.0-alpha.9...v2.0.0-alpha.10

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-alpha.10".

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.9(Aug 20, 2022)

    • Built-in dark and light themes are now available through the theme setting in your config.toml.
      • Within the [frontend] section, set theme to either "dark" (default) or "light".
      • On the command line, you can do --theme "light", or --theme "dark".
    • Customization of themes will come in the near future.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v2.0.0-alpha.8...v2.0.0-alpha.9

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-alpha.9".

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.8(Aug 17, 2022)

    • Addition of development container config for Visual Studio Code users.
    • Input mode now has a character limit of 500, going over this limit won't let you hit enter to send the message, and the text box border will change to red.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v2.0.0-alpha.7...v2.0.0-alpha.8

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-alpha.8".

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.7(Jul 22, 2022)

    • Logging is now possible with either CLI arguments or config.toml.
      • CLI: --log-file/-l
      • config.toml: log_file
    • Some debug!() statements have been added for development purposes.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v2.0.0-alpha.6...v2.0.0-alpha.7

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-alpha.7".

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.6(Jul 3, 2022)

    • Added Apache 2.0 License, moved MIT License.
    • Config is now generated from serialized defaults instead of making a web request.
      • This allowed us to remove the ureq dependency.
    • When Twitch-specific config isn't complete, the user will receive a panic.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v2.0.0-alpha.5...v2.0.0-alpha.6

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-alpha.6".

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.5(Jun 14, 2022)

    • Scrolling through messages is now possible. Supported modes:
      • Search mode (Ctrl + f)
      • Insert mode (i)
      • Normal mode
    • "Broken pipe" error might have now been fixed, but more extensive testing is needed.
      • The best way to replicate this as of now is to switch to a channel never visited before with s in normal mode.
      • The error to look for is Io(OS { code: 32, kind: BrokenPipe, message: "Broken pipe" }), it will show up as a system message.
      • If re-connection is successful, you will only see this message once, followed by a one second pause, then messages can be read/written.
      • If retrying the connection isn't successful, the error will pop up once a second.
      • If you run into a broken pipe or any additional problems, be sure to create an issue!

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v2.0.0-alpha.4...v2.0.0-alpha.5

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-alpha.5".

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.4(Jun 13, 2022)

    • #151: Configuration file is now generated via download if it doesn't exist.
    • #158: The sqlite database has been replaced with JSON for ease of editing by the user.
      • Note: this means that you will have to rename the [database] section in your config.toml to [storage], which can be seen in the default config, here.
    • #162: twt --version is now supported. Thanks, @ModProg.
    • Panics are now readable instead of cut-off messages that cannot be deciphered.
    • A manual panic (crash) can now be triggered by the user via Ctrl + p.
    • Filters in default-config.toml are now disabled by default.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v2.0.0-alpha.3...v2.0.0-alpha.4

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-alpha.4".

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.3(Mar 24, 2022)

    • Filters now exist through a filters.txt file in the config folder of this program (see the README.md for path based on OS)
      • Text inputs are compiled to regex.
      • Can be enabled/disabled with Ctrl + t.
      • Can be reversed with Ctrl + r
    • Suggestions for recent mentions/channels/commands
      • Mentions/channels can are recorded when the Enter key is hit. Tracking to the sqlite database is disabled through the config.toml file.
      • When suggestions/tracking is enabled, @ will suggest mentions.
      • / suggests through the static commands, nothing is tracked to the database.
      • The channel switcher will suggest immediately when tracking is enabled.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v2.0.0-alpha.2...v2.0.0-alpha.3

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-alpha.3".

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.2(Mar 16, 2022)

  • v2.0.0-alpha.1(Feb 22, 2022)

    • Scrolling with the mouse wheel is now possible.
    • Changed from popup message searching to using Ctrl + f to highlight messages in the main window.
    • Swapping channels is now through the s keybind.
    • Title of the main window now has time and current channel.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.6.0...v2.0.0-alpha.1

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-alpha.1".

    Source code(tar.gz)
    Source code(zip)
  • v1.6.0(Dec 13, 2021)

    • Removed tabs above the insert window in favor for popup windows.
    • Added popup window for channel switching.
    • Up arrow in insert mode now gets user back to normal viewing mode.
    • Keybind help is now a popup window.
    • Title of main window now contains date/time formatted based on the config, and current channel (works on channel switch)

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.5.0...v1.6.0

    Release available on crates.io.

    Source code(tar.gz)
    Source code(zip)
  • v1.5.0(Dec 3, 2021)

    Application now has support for CLI arguments. Anything put through the command line will overwrite in-file config settings.

    Information on how to use command-line arguments are showed through twt --help:

    twitch-tui 1.5.0
    Xithrius <[email protected]>
    Twitch chat in the terminal
    
    USAGE:
        twt [OPTIONS]
    
    FLAGS:
        -h, --help       Prints help information
        -V, --version    Prints version information
    
    OPTIONS:
        -c, --channel <channel>                            The streamer's name
        -d, --date-shown <date-shown>                      Show the date/time [possible values: true, false]
        -m, --max-messages <max-messages>                  The maximum amount of messages to be stored
        -u, --max-username-length <max-username-length>    Maximum length for Twitch usernames
        -p, --palette <palette>
                Username color palette [default: pastel]  [possible values: pastel, vibrant, warm, cool]
    
        -t, --tick-delay <tick-delay>                      The delay in milliseconds between terminal updates
        -a, --username-alignment <username-alignment>      Username column alignment [possible values: left, center, right]
    

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.4.0...v1.5.0

    Release available on crates.io.

    Source code(tar.gz)
    Source code(zip)
  • v1.4.0(Nov 11, 2021)

    • Ctrl + Tab to cycle right and Ctrl + Shift + Tab to cycle left through the tabs of the input box. These tabs include the chat, and modifiable values such as the current channel, username, and server.
    • Switching channels clears the chat.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.3.0...v1.4.0

    Release available on crates.io.

    Source code(tar.gz)
    Source code(zip)
  • v1.3.0(Oct 27, 2021)

    • Twitch usernames now have correct captilization. Thanks @balroggg, for https://github.com/Xithrius/twitch-tui/pull/44!
    • Command suggestions are now pulled up when the first character in the insert window is /. Window currently has a height of 7 suggestions.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.2.3...v1.3.0

    Release available on crates.io.

    Source code(tar.gz)
    Source code(zip)
  • v1.2.3(Oct 25, 2021)

    • Binary name updated from ttc to twt.
    • Updated information within the README to reflect binary and project name changes.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.2.2...v1.2.3

    Release available on crates.io.

    Source code(tar.gz)
    Source code(zip)
  • v1.2.2(Oct 25, 2021)

  • v1.2.1(Oct 17, 2021)

    • Updated instructions to install the program within README.

    Full Changelog: https://github.com/Xithrius/terminal-twitch-chat/compare/v1.2.0...v1.2.1

    Source code(tar.gz)
    Source code(zip)
  • v1.2.0(Oct 17, 2021)

    • Many new keybinds have been added! Check the README dropdown tables about everything that insert mode now has to offer!
    • The keybinds window now shows two different tables. One for normal mode, and one for insert mode. More to come in the future.
    • Authentication and command errors now show up in the console.

    Full Changelog: https://github.com/Xithrius/terminal-twitch-chat/compare/v1.1.3...v1.2.0

    Source code(tar.gz)
    Source code(zip)
  • v1.1.3(Oct 4, 2021)

    Massive performance improvements. See #31 for the details. Thank you, @kosayoda! :heart:

    v1.1.2 and below: image

    v1.1.3: image

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.1.2...v1.1.3

    Source code(tar.gz)
    Source code(zip)
  • v1.1.2(Oct 1, 2021)

    • Edit README.md so it gives clearer instructions, with tables. Setup has also been edited.
    • Ctrl + w has been added which removes everything from the cursor until a whitespace.
    • Ctrl + u removes everything until the start of the insert line.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.1.0...v1.1.2

    Source code(tar.gz)
    Source code(zip)
  • v1.1.1(Oct 1, 2021)

    • Added clippy to check for idiomatic code.
    • Added more hooks to .pre-commit-config.yaml so files are properly formatted before commits.
    • Bumped version of crossterm.
    • Styles for different parts of the terminal window are now more accessible to the rest of the project.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.1.0...v1.1.1

    Source code(tar.gz)
    Source code(zip)
  • v1.1.0(Sep 20, 2021)

    • The crate termion has been swapped out for crossterm.
    • Project is now stable on Windows.

    Please let me know through issues if you encounter any problems.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.0.3...v1.1.0

    Source code(tar.gz)
    Source code(zip)
  • v1.0.3(Sep 20, 2021)

    • General performance has been improved, thank you @kosayoda for #23!

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.0.2...v1.0.3

    Source code(tar.gz)
    Source code(zip)
  • v1.0.2(Sep 19, 2021)

    • MacOS config is now confirmed to be completely the same as Linux.
    • README and paths have been updated.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.0.1...v1.0.2

    Source code(tar.gz)
    Source code(zip)
  • v1.0.1(Sep 19, 2021)

    Chatting in Twitch through the terminal has finally made it through a major version!

    Read through the README for all your installing needs, but only if you're on Linux for now.

    Source code(tar.gz)
    Source code(zip)
Owner
Administrator and Triage Lead of @python-discord.
null
A multi-threaded Twitch chat archiving and downloading tool.

Twitch Chat Downloader ??️ tcd is a multi-threaded Twitch Chat Downloader built in Rust ?? . Usage: tcd [OPTIONS] <--channel <CHANNEL>|--video <VIDEO>

Matthew Polak 3 Nov 16, 2022
Harmony chat client in the terminal!

ilo-toki Harmony chat client in the terminal! Usage Run it with cargo run once you've cloned the repo. If you'd like, you can install the program with

jan Jenwa 2 Nov 7, 2022
Rust-advent - Learning Rust by solving advent of code challenges (Streaming live on Twitch every Monday)

Rust advent ?? ?? Learning Rust by implementing solutions for Advent of Code problems. ?? HEY, we are live-streaming our attempts to solve the exercis

Luciano Mammino 20 Nov 11, 2022
A Twitch OAuth token revoker written in Rust.

Revoker - A Twitch OAuth Token Revoker Details Revoker is a small CLI tool written in Rust, made so you can easily and urgently remove a Twitch OAuth

Mykola 4 May 20, 2022
LL Cool Twitch Tools

LL Cool Twitch Tools Hit me up on my twitch channel This project is a playground twitch API playground for me.

Christopher N. KATOYI 8 Oct 27, 2022
Tree-based TUI chat client

cove Cove is a TUI client for euphoria.io, a threaded real-time chat platform. It runs on Linux, Windows and macOS. Manual installation This section c

null 8 Nov 16, 2022
:large_orange_diamond: Build beautiful terminal tables with automatic content wrapping

Comfy-table Comfy-table tries to provide utility for building beautiful tables, while being easy to use. Features: Dynamic arrangement of content to a

Arne Beer 499 Nov 24, 2022
🛎 60+ Elegant terminal spinners for Rust

Spinners - ?? 60+ Elegant terminal spinners for Rust ❤️ Shameless plug Charts, simple as a URL. No more server-side rendering pain, 1 url = 1 chart Lo

Francois-Guillaume Ribreau 425 Nov 27, 2022
Low-level Rust library for implementing terminal command line interface, like in embedded systems.

Terminal CLI Need to build an interactive command prompt, with commands, properties and with full autocomplete? This is for you. Example, output only

HashMismatch 47 Nov 25, 2022
Rust library for ANSI terminal colours and styles (bold, underline)

rust-ansi-term This is a library for controlling colours and formatting, such as red bold text or blue underlined text, on ANSI terminals. View the Ru

Benjamin Sago 403 Dec 3, 2022
Cross-platform Rust library for coloring and formatting terminal output

Coloring terminal output Documentation term-painter is a cross-platform (i.e. also non-ANSI terminals) Rust library for coloring and formatting termin

Lukas Kalbertodt 75 Jul 28, 2022
create and test the style and formatting of text in your terminal applications

description: create and test the style and formatting of text in your terminal applications docs: https://docs.rs/termstyle termstyle is a library tha

Rett Berg 18 Jul 3, 2021
A dead simple ANSI terminal color painting library for Rust.

yansi A dead simple ANSI terminal color painting library for Rust. use yansi::Paint; print!("{} light, {} light!", Paint::green("Green"), Paint::red(

Sergio Benitez 168 Nov 20, 2022
(Rust) Coloring terminal so simple you already know how to do it !

Colored Coloring terminal so simple, you already know how to do it! "this is blue".blue(); "this is red".red(); "this is red on blue".red(

Thomas Wickham 1.2k Nov 29, 2022
Cross platform terminal library rust

Cross-platform Terminal Manipulation Library Crossterm is a pure-rust, terminal manipulation library that makes it possible to write cross-platform te

crossterm-rs 2k Dec 1, 2022
Build terminal user interfaces and dashboards using Rust

tui-rs tui-rs is a Rust library to build rich terminal user interfaces and dashboards. It is heavily inspired by the Javascript library blessed-contri

Florian Dehau 9.1k Dec 4, 2022
Currency exchange rates in your terminal

Usage example Rates is a scriptable CLI tool that brings currency exchange rates right into your terminal and supports 30+ fiat and 10K+ crypto currencies.

Lunush 89 Nov 9, 2022
My terminal emulator

Miro A GPU-accelerated terminal emulator written in Rust. miro -t pika miro -t kirby miro -t mario miro -t sonic Building from source

Ossama Hjaji 282 Nov 22, 2022
Alacritty - A fast, cross-platform, OpenGL terminal emulator

Alacritty is a modern terminal emulator that comes with sensible defaults, but allows for extensive configuration. By integrating with other applications, rather than reimplementing their functionality, it manages to provide a flexible set of features with high performance. The supported platforms currently consist of BSD, Linux, macOS and Windows.

Alacritty 43.3k Nov 30, 2022