本連載第71回「Twitterクライアント7種徹底レビュー」では、Ubuntuで使えるTwitterクライアント7種類を紹介しました。しかしそれから2年以上が経過し、Twitterの仕様変更をはじめ、Twitterをとりまく状況は大きく変化しています。そこで今週のレシピは、昨今の事情にあわせた(?)Twitterクライアントとして、twittering-modeを紹介ます。
EmacsでTwitterを楽しもう
Twitterのようなテキストの読み書きといえば、当然Emacsの出番ですよね。EmacsでTwitterをする時の定番が、本連載73回でも軽く紹介したtwittering-modeでしょう。もちろん筆者も愛用しています。
twittering-modeをインストールするには、プロジェクトのページからリリース版のアーカイブを取得して展開するか、gitリポジトリから開発版をチェックアウトします。そうして得られるtwittering-mode.elを、ロードパスの通ったディレクトリに配置して、必要であればバイトコンパイルしてください。また、Ubuntu 11.10にはtwittering-modeパッケージが用意されていますので、apt-getなどからインストールすることが可能になります[1]。
twittering-mode.elがインストールできたら、.emacsに設定を追記しておきます。
OAuthを使った認証とトークンの保存
本連載73回では、.emacsにユーザ名とパスワードを記述して認証を行う方法を紹介しました。これはすべてのクライアントアプリに言えることですが、現在ではTwitterの仕様変更によりベーシック認証は使用することができません。そこで認証にはxAuthかOAuthを利用する必要があるのですが、xAuthを利用して認証を行なったクライアントアプリからは、ダイレクトメッセージ機能を利用することができなくなりました。そのため現実問題として、認証にはOAuthを利用するしかないでしょう。OAuthを利用するには、twittering-auth-methodにoauthを設定します[2]。
twittering-modeを起動すると、指定されたブラウザでアプリケーション認証用のページを開きます。ユーザ名とパスワードを入力すれば、認証用のPINコードが取得できます。取得したPINコードをミニバッファへ正しく入力して認証を完了してください。
さて、デフォルトのtwittering-modeは認証で得たトークンを保存しません。つまり再起動する度にブラウザを開いてOAuth認証を実行する必要があり、非常に面倒です。ところが、twittering-modeが得たアクセストークンはtwittering-oauth-access-token-alistに保存されています。試しにM-x describe-variableを実行してみましょう。英数字の混った文字列がトークンとして保存されているのがわかるはずです。つまりこの値を保存しておき、.emacsで設定してやれば二回目以降の認証をパスすることが可能になります。
しかしこのトークンを使えば、そのアカウントを使ってTwitterにアクセスできてしまうのですから、.emacsにプレーンなテキストで記述しておくというのは不用心でしょう。そこで利用したいのが、トークンを暗号化して別ファイルに保存する機能です。この機能を有効にするには、twittering-use-master-passwordにnil以外の値を設定します。暗号化にはEasyPGかalpaca.elが使用できますが、Emacs23ではEasyPGが標準搭載されていますので、EasyPGを使うのがよいでしょう。もちろん、追加のパッケージインストールなどは必要ありません。
この設定を行なっておくと、初回認証時にマスターパスワードの設定が要求されます。以後はtwittering-mode起動時にマスターパスワードを入力するだけで、必要なトークンが読み込まれます。
twittering-modeの使い方
M-x twitでtwittering-modeを起動します。u(またはC-c C-s)でツイートを作成するeditモードになり、ウィンドウが上下に分割されて、*twittering-edit*バッファが開きます。edit中にC-c C-cで、編集したツイートを投稿します。
twittering-modeでよく使う、代表的なキーバインドは以下の通りです。
表 twittering-modeの操作
j | 前(古い)のツイートへ移動 |
k | 次(新しい)のツイートへ移動 |
n | カーソルがあるユーザの、前のツイートへ移動 |
p | カーソルがあるユーザの、次のツイートへ移動 |
H | バッファの先頭へ移動 |
G | バッファの末尾へ移動 |
u | ツイートを作成するeditモードへ移行 |
C-m | カーソルがあるツイートへのリプライを作成するeditモードへ移行 |
d | ダイレクトメッセージを作成するeditモードへ移行 |
C-c C-m | カーソルがあるツイートを非公式RTするeditモードへ移行 |
C-u C-c C-m | カーソルがあるツイートを公式RT |
(edit中に)F4 | tinyurlでカーソル下にあるURLを短縮 |
(edit中に)C-c C-c | ツイートを投稿 |
(edit中に)C-c C-k | 編集中のツイートを破棄 |
C-c D | カーソルがある自分のツイートを削除 |
r | カーソルがあるツイートに関連するツイートを表示 |
i | アイコンの表示/非表示をトグル |
a | タイムラインの自動更新ON/OFFをトグル |
t | プロキシのON/OFFをトグル |
C-c C-t | デフォルトで付加するハッシュタグを設定 |
C-c C-d | ダイレクトメッセージを表示 |
C-c C-r | 自分へのMentionsを表示 |
C-c C-u | 自分のツイートを表示 |
v | カーソルがあるユーザのタイムラインを表示 |
f | 次のバッファを表示 |
b | 前のバッファを表示 |
q | バッファを閉じる |
L | リストを選択 |
g | タイムラインを更新 |
twittering-jojo-modeを使う
twittering-modeにはtwittring-jojo-modeというマイナーモードが搭載されています。有効にするにはM-x twittering-jojo-modeを実行してください。有効になるとモードラインに「jojo」と表示されます。
この状態でタイムラインに "次にお前は「XXXX」と言う!" というツイートが流れてくると、jojo-modeが自動的に "XXXX はっ!?" というMentionを発言した人宛てに飛ばします。波紋の能力に目覚めた人、スタンド使いの人などにオススメの機能です。
次週予告
これだけで一通りの操作ができるようになったと思いますが、デフォルト状態ではまだまだ使いやすいとは言えないでしょう。来週はtiwttering-modeの挙動をカスタマイズする方法を紹介します。