ぼくは、GoogleReaderのTUIフロントエンドである、ScoopっていうRSSリーダーを開発中だったんだけど、こんなのを見つけてしまった。
Scoop is an Adobe AIR powered RSS reader
うーん、ターゲットこそ違えど、ここまで同機能、同名のアプリが既に存在していたとは。ファーストリリースの日付を確認したところ、ぼくの方が後出しっぽいので、ここは謙虚に、Scoopの名前は譲ることにした。まあ、Adobe AIRアプリとcursesアプリじゃ、まったくの別物ではあるけど、紛らわしくて混乱しそうだからね。
ということで、Peepという名前でプロジェクトを再開した。
This software is a TUI front-end for Google Reader
プロジェクトの移行にともなって、納得がいかないコードを修正したり、全面的に書き直したりしていたので、ちょっと遅くなったけど、前回公開してた時の機能は一通り実装できたので、告知するよ。
日本語表示まわりを割とちゃんとしたりとか、Gridのスクロール機能なんかも実装したので、かなり安定度、実用度ともに増した気がする。
使い方は、基本的に前と同じなので、この辺を参考に。
使ってもらおうと思ったら、ちゃんとドキュメントも書かないとな。プロジェクトのページもつくりたい。
ビジネスジャンプで珍遊記2の連載が開始されてた。
娘々かわゆす...っておい、これは「まんゆうき」じゃねーか。つっこんだら負けなの?相変わらず、期待の裏切り方がはんぱねー。
最近、昔流行った漫画のリバイバル作品が多いけど、思いっきりぼくら世代がターゲットだよな。まあ、出版業界も大変だろうけど、今の若い人たちは漫画離れが始まっちゃってたりするのかな?そういうぼくもコンビニで立ち読みして済ませちゃうし、間違いなく売上げは落ちてるんだろうな。
なんにせよ、珍遊記は、ぼくらの青春そのものだ。画太郎先生ありがとう。
ふと気がつけば、ジャンプ、ヤングジャンプと来て、ビジネスジャンプを読む歳になったのか。大人になんかなりたくねぇ。
ここしばらく、ニートを通り過ぎて廃人になってた。無気力の境地に達しても悟りは開けないんだぜ。
ところで、arc-users.jpのドメインの期限が来たので更新した。相変わらず、jpドメイン高いな。
しかし、もう一年が過ぎたんだな。早いもんだ。なんとかせねばと思いつつ放置しっぱなしな自分が情けない。wikiとかCMSとか導入すりゃ、話は早いんだろうけど、どうせならArcで実装したシステムで運用したいなと思い続け、後回しになってるんだよな。
まあ、適当に頑張る。
まず最初に。ぼくの書き方がまずかったんだけど、これは何するもの?っていう問い合わせがあったので、それの回答。
scoopはターミナルで動作するRSS Reader。Google Readerのデータを取得して表示するので、Google Reader使ってる人は乗り換える事なく、気軽に使えるよ。試してみて。
ということで、タイトルの通り、ピン立てて、ぐぁーなやつ実装した。webbrowserモジュールっていうのがPythonの標準ライブラリであるので、簡単に実装できた。思いのほか便利で、すでにぼくは常用してる。スクロールはまだできないから、長文エントリは表示できないけど、外部ブラウザで開いて読める。
えーと、すでに使ってる人は、インストールしたディレクトリで、
git pull
して、最新取ってくれば有効になる。まだ使ってない人は、ここを参考にインストールして。
キーバインドは、
- p: ピンを立てる/解除(トグル)
- o: ピンを立てたエントリを外部ブラウザで開く
- O: 選択しているエントリを外部ブラウザで開く
って感じ。OSでデフォルト指定してあるブラウザで開くと思う。
あと、ここで配布してる日本語化されたUbuntuのVMwareイメージでも動作することが確認できた。書き忘れてたけど、unicodeが有効になってるncursesが必要なので、Mac使ってる人は、MacPortsとかでインストールしたPython使った方がいいかもしれない。ターミナルの文字コードもutf-8で。
基本的に、まずは機能を充実させることを考えてるので、マルチプラットフォーム対応とかは後回しの予定。もちろん、バグレポートとかパッチは受け付ける。まあ、こんなRSS Readerを使おうとする人はギークに違いないから、自分でハック推奨。
http://github.com/ryuji/scoop/tree/master
今のところ、未読の新着エントリはなんとか読めるレベル。Feedの追加とかは、WebブラウザからGoogle Readerにログインして直接行う。
そのうち、マニュアルとかも整備しなきゃだけど、メモ替わりにここに書いとく。
ライセンス
依存ライブラリの関係で、GPL2
必要なもの
インストール
GitHubから取得。インストールしたいディレクトリの下で、下記コマンドを叩く。
git clone git://github.com/ryuji/scoop.git
あとは、パス通すなり、scoopにシンボリックリンク張るなり、お好きな感じで。
次に、設定ファイルの作成。とりあえず、サンプルを自分のホームディレクトリにコピーする。
cp scoop/scoop.rc ~/.scoop.rc
で、自分のGoogle Readerのemailとpasswordを設定する。
vi ~/.scoop.rc
[credential]
email = your_google_reader_account@gmail.com
password = your_google_reader_password
パーミッションは変えといた方が安心。
chmod 600 ~/.scoop.rc
使い方
% scoop --help
Usage: scoop [options]
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-n, --notify notify unread entry count
-nオプションで、未読件数を出力。新着通知とかに使えるかと思って実装した。
オプションなしで実行すると、メインスクリーンが立ち上がる。モードの概念があって、今のところ、未読記事一覧モードと、記事閲覧モードが実装済み。それぞれのモードでのコマンドは下記参照。基本的には、viとかmuttのキーバインドに倣ってる。
未読記事一覧モード
- q : scoopの終了
- r : 未読記事一覧の再取得
- j : 次の記事選択(下にカーソル移動)
- k : 前の記事選択(上にカーソル移動)
- return : 選択中の記事を読む
記事閲覧モード
- q : 前のモードに戻る
- u : 未読記事一覧モードに切り替える
- j : 次の記事を読む
- k : 前の記事を読む
既知のバグ
未読記事一覧で、一度に20件しか表示できない
今月中には対応予定。
基本的にスクロールできない
スクロールできないので、長いエントリは読めない。今月中には対応予定。
時刻表示がおかしい
JSTタイムゾーンのはずなのに、どう見てもGMTです、ほんとうに(ry。pytzとかかましてみたけど治らず。なんか、ライブラリで取得した時点で狂ってる気がする。
起動中にターミナルのサイズを変更したら死ぬ
なんとなく対応方法はわかるような気がするけど、これは仕様でもいいかな...
動作検証環境
- MacOSX Leopard + Gentoo Prefix
- Gentoo Linux
検証環境がマニアックなのは謝る。検証になってないかもな。
実装予定の機能
- Google ReaderのAPIでできること
- ピン立てて、外部ブラウザでぐぁーって開くやつ(LDRのパクリだね)
とりあえず、Google Readerの機能を実装していって、安定したら、TUIならではな感じの機能を模索していきたい。
バグ報告とか
blogシステムの開発の方はサボってるので、コメント機能とかないし、不具合とか要望とか、その他なにかあれば、ryuji@mgiken.comに直接メールで。励ましのお便り募集中。
Enjoy your terminal life!