Git Product home page Git Product logo

twterm's Introduction

twterm

A full-featured TUI Twitter client

screencast

Installation

❄️ Nix (Recommended)
$ nix-channel --add https://github.com/ryota-ka/twterm/archive/master.tar.gz twterm
$ nix-channel --update
$ nix-env -iA twterm

⚠️ If you have BUNDLE_PATH configured in ~/.bundle/config, twterm may fail due to Bundler::GemNotFound. See NixOS/nixpkgs#85989 for details.

🍺 Homebrew
$ brew install ryota-ka/twterm/twterm
💎 RubyGems

You also have to install the following dependencies manually.

$ gem install twterm

Usage

To launch twterm, just type in your console:

$ twterm

Default key assignments

Key assignments can be configured by editing ~/.twterm/keys.toml

key operation
h previous tab
j move down
k move up
l next tab
^N new tweet
^T new tab
w close current tab
F10 ^C quit
F1 key assignments cheatsheet

License

See the LICENSE file for license rights and limitations (MIT).

Links

Development

Requirements

Setting up development environment

$ nix-shell

Ruby version can be switched with --arg option (defaults to 2.7).

$ nix-shell --arg ruby 2.6

twterm's People

Contributors

dependabot[bot] avatar dkvasnicka avatar ganmacs avatar pasela avatar ryota-ka avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

twterm's Issues

リンクを開く機能の追加

ツイート中のリンクをブラウザで開きたい.
認証時にブラウザを起動しているようなので, ブラウザを開く部分の実装は問題なさそう?

自分自身のユーザータブの表示

自分自身のユーザータブの表示の細部を改善してほしい.
具体的には [not following] 表示や Follow this user の表示は不要.

さらに自分自身のユーザータブから bio とかが簡単に編集できると良さそう.

already closed tabs still subscribe resize events

Tab::Base subscribes Event::Screen::Resize in #initialize method. However it does not unsubscribe it, thus after being closed it still receives the event unless its window is already closed.
This apparently causes a RuntimeError (already closed window) so the event must be unsubscribed when the tab is closed.

Open tweet in browser?

There is a key binding to follow the link in a tweet, but I can't see anything that lets you open the current tweet in the browser. This would be really useful, especially for image-based tweets.

Auto refresh/reload?

Is there a possibility to set an auto-refresh/reload option (eg, number of seconds) for a given tab?

I'm thinking there is a "global" refresh time option and then one can override that for individual tabs if one wants.

statuses tab を開いたとき,キャッシュから該当するツイートを即座に表示する

今の状況

  • 新しくタブを開くと,ローディングが完了されるまでは何も表示されない

こうしたい

  • API を叩いて結果が帰ってくる前に,ローカルにキャッシュしてある status のインスタンスを検索して,最初から表示しておいてあげる
    • Tab::Statuses::UserTimeline の場合 : 当該ユーザーによるツイート
    • Tab::Statuses::Search の場合 : 検索ワードに引っかかるツイート

多言語対応

多言語対応できるような仕組み (e.g. gettext) を導入する.

起動時のツイート読み込みを改善

現状では起動時にホームタイムラインを読みに行っているが、ローカルにログを残しておいて、まずはそれを読み込むようにする。
ホームタイムラインを読み込みに行くようにもするが、Twitter::Error::TooManyRequests が発生した際には rescue して、アプリケーションが落ちないようにする。

描画領域の更新について

twtermを起動中にウィンドウの大きさを変更したときに描画領域がウィンドウの大きさに追従しない(元のサイズを保ってしまう

Support for multiple accounts

Currently this only supports single accounts, is there a way to switch between accounts? It doesn't have to be live.

未読部分の読み込み

接続が切れていて,読み込めなかった部分のツイートをロードできるようにする.
disconnected だった時間なんかをいい感じに記録しておけば吉か.

Word wrapping

Amazing client, but adding word wrapping would be an excellent addition. Even if it were only allowing strings to be broken at whitespace then that would be really useful.

ユーザーのアイコンを表示する

ユーザーを名前よりアイコンで見分けてるのでどうしても辛いです。
普通に表示するのは難しそうだから画像から代表的な色だけ取ってきてユーザーのイメージカラーの表示とかできませんか

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.