本家に取り込んで頂けたので、[2010-07-18-2] の記事を全体的に書き換え
ました。
twittering-mode.el は、Emacs で動作する Twitter クライアントです。
詳細はオフィシャルサイトをご覧下さい。
最新リリース版 v1.0.0 は対応していませんが、2010.8.22 から Git 最新
版で StatusNet を使えるようになりました!
Twitter で出来ることはほとんど StatusNet で出来ます。ただし、
StatusNet がサポートしていない機能は使えません。例えば、`V' からの
:retweeted_by_me, :retweeted_to_me, :retweets_of_me や `L' からのリ
ストです。
GitHub からソースコード一式をダウンロードします。
http://github.com/hayamiz/twittering-mode/archives/master
EmacsWiki の「インストールの手引き」に従ってインストールします。
http://www.emacswiki.org/emacs-ja/TwitteringMode-ja
StatusNet 固有の設定をします。以下は StatusNet を
http://example.com/statusnet/ に構築し、[2010-04-18-3] の Fancy
URLs の設定を行った場合の設定になります。
(setq twittering-service-method 'statusnet) (setq twittering-auth-method 'basic) (setq twittering-username "StatusNetのアカウント") (setq twittering-api-host "example.com") (setq twittering-api-search-host "example.com") (setq twittering-web-host "example.com") (setq twittering-api-prefix "statusnet/api/") (setq twittering-search-api-method "statusnet/api/search") (setq twittering-web-path-prefix "statusnet")
SSL を使っていなければ、こちらも設定してください。
(setq twittering-use-ssl nil)
StatusNet にはハッシュタグやグループ用の API があるので、対応したい
です。
StatusNet のデモサイト http://identi.ca/ でも使うことが出来ます。
(setq twittering-service-method 'statusnet) (setq twittering-auth-method 'basic) (setq twittering-username "StatusNetのアカウント") (setq twittering-api-host "identi.ca") (setq twittering-api-search-host "identi.ca") (setq twittering-web-host "identi.ca") (setq twittering-api-prefix "api/") (setq twittering-search-api-method "api/search") (setq twittering-web-path-prefix "")
追記(2010-08-22):
本家に取り込んで頂けたので、全体的に書き換えました。
2010.4.21 に取り込んで頂きましたので、以下の修正はもう不要です。
大したハックではありませんが、以下の修正をしました。
`t' でオフラインとオンラインをトグル出来るようにしました。デフォル
トの twittering-toggle-proxy() へのキーバインドを変更しています。接
続状態はミニバッファに表示されたアイコンで分かるようになっています。
`q' で twittering-mode を終了できるようにしました。
Emacs23 以降で twittering-update-lambda() と
twittering-jojo-mode() を実行すると、文字化けする件を修正しました。
[2009-08-01-1] の件です。
twittering-mode.el を置いたディレクトリに icons というディレクトリ
を作り、plugged.xpm と unplugged.xpm を置いてください。これらの画像
は Navi2ch に付属するものです。
修正した twittering-mode.el へのパッチは以下になります。アイコンを
表示させるコードは Navi2ch から、ほぼそのまま流用させて頂きました。
《続きを読む》
twittering-mode には、C-c C-l で「λかわいいよλ」と投稿できる、
よく分からない機能がある。たいてい間違って投稿されるのだと思う。w
まあ、OFF にすればいいんだけどね。
よく分からない機能ではあるけど、実際に使ってみるとハングルのような
文字が投稿されてしまう。前から気づいていたんだけど、急に思い立って
調べてみることにした。
まず、Emacs23 で再現し、Emacs22 では再現しないことが分かった。
twittering-update-lambda() の
"\xd34b\xd22b\xd26f\xd224\xd224\xd268\xd34b" を評価すると、以下のよ
うに結果が異なる。
Emacs22
Emacs23
"λ" の上にカーソルを置いて、"C-u C-x =" で文字コードを調べたところ、
Emacs22 は #xd34b で、Emacs23 は #x3bb だった。
mule-ja-2009:09607 で聞いてみたところ、Emacs23 では内部文字コードは
UNICODE になったとのこと。じゃあ Emacs22 はなんだろうと思ってググっ
てみたら、以下の変換式らしいと分かった。
0xc000 + JIS上位バイト*128 + JIS下位バイト
http://www.dennougedougakkai-ndd.org/~delmonta/emacs/27.html
"λ" は JIS コードでは 0x264b、UNICODE(UTF-16) では 0x03bb 。
このことから、Emacs23 の内部文字コードが UNICODE である裏付けが取れた。
では "λ" の JIS コード 0x264b を、Emacs22 の変換式に当てはめてみようか。
0xc000 + (0x26 * 0x80) + 0x4b = 0xd34b
前述の Emacs22 の変換式に間違いはなさそうだ。
さらに半田さんが mule-ja-2009:09610 で Emacs22 の内部文字コードにつ
いて、正確な情報を提供してくれた。すごいなあ。
Emacs22 と Emacs23 の内部文字コードは異なる。"\xd34b" のような表記
をするときは、(>= emacs-major-version 23) 等で切り分ける必要があり
そう。twittering-update-jojo() も化けるので、修正する必要あり。
"C-u C-x =" で一文字ずつ内部文字コードを調べるのは非効率なので、ま
とめて変換できるコードを作りました。もっと良い方法はあると思います。
(let ((str "λかわいいよλ") (str2 "") code) (with-temp-buffer (insert str) (goto-char (point-min)) (while (> (point-max) (point)) (setq code (char-after (point))) (setq str2 (concat str2 (if (>= code 128) (format "#x%x" code) (buffer-substring-no-properties (point) (+ (point) 1))))) (forward-char 1))) str2)
Emacs23 では上記の場合、"#x3bb#x304b#x308f#x3044#x3044#x3088#x3bb"
が得られ、"#" を全て "\" に変換し評価すると、"λかわいいよλ" にな
るはず。最初から "\x3bb" といった出力は出来ないのかなあ。
2010.6.12 Emacs Wiki にインストールガイドと全てのキーバインドを記載
しました。この記事はもう古いです。
やはりというかなんというか、探してみたらありました。
Emacs 上で Twitter できる、twittering-mode.el が。
M-x twit で、Twitter 開始です。"u" または "C-c C-s" でつぶやけます。
デフォルトでは 90 秒ごとにリロードされますが、"g" で手動リロードす
ることも出来ます。
後述の twittering-icon-mode を有効にしているので、なかなかの見栄え
です。:-)
1. twittering-mode の公式サイトから、tar ball を取得します。
もしくは、GitHub から開発版を取得します。
% git clone git://github.com/hayamiz/twittering-mode.git
2. 展開した twittering-mode を load-path に追加します。
(add-to-list 'load-path "/path/to/installed/dir")
(autoload 'twit "twittering-mode" nil t) (setq twittering-username "Twitterアカウント")
(setq twittering-icon-mode t) (setq twittering-jojo-mode t) (defun twittering-mode-hook-func () (set-face-bold-p 'twittering-username-face t) (set-face-foreground 'twittering-username-face "DeepSkyBlue3") (set-face-foreground 'twittering-uri-face "gray35") (define-key twittering-mode-map (kbd "<") 'my-beginning-of-buffer) (define-key twittering-mode-map (kbd ">") 'my-end-of-buffer) (define-key twittering-mode-map (kbd "F") 'twittering-favorite)) (add-hook 'twittering-mode-hook 'twittering-mode-hook-func)
- twittering-icon-mode を有効にしました。
各ユーザのアイコン画像が表示されて見栄えよくなります。
- twittering-jojo-mode を有効にしました。
followings の誰かが "次にお前は「XXX」と言う!" とつぶやくと、
自動で "XXX、、、はっ!?" とつぶやきます。
- ユーザ名と URI の色を変更し、見栄えよくしました。
- "<" や ">" でバッファの先頭や終端に移動できるようにしました。
- "F" でお気に入り登録出来るようにしました。"C-u F" でお気に入りか
ら外せます。
http://d.hatena.ne.jp/wadap/20080628/1214650097
http://www.kototone.jp/com/how_to_use_twittering-mode.html
追記(2010-04-18):
情報が古くなっていたので、全体的に書き換えました。
追記(2010-05-12):
twittering-mode ディレクトリを site-lisp に放り込むと、追加されては
いけないディレクトリまで load-path に追加されてしまうので、修正しま
した。