2011-08-12 (金)

Emacs で対応している画像タイプを確認する方法 [Emacs][Twmode]

個人的なメモです。

(mapcar (lambda (type) (cons type (image-type-available-p type))) image-types)
=> ((png . t) (gif . t) (tiff . t) (jpeg . t) (xpm . t) (xbm . t) (pbm . t))



Togetter - 「twittering-mode でアイコンが出なかった件」

2010-08-22 (日)

twittering-mode.el 本家に StatusNet 対応が commit された [StatusNet][Twmode]

本家に取り込んで頂けたので、[2010-07-18-2] の記事を全体的に書き換え
ました。

2010-07-18 (日)

twittering-mode.el から StatusNet を使おう [StatusNet][Twmode]

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):
本家に取り込んで頂けたので、全体的に書き換えました。

2009-08-08 (土)

twittering-mode.el のハック [Twmode]

2010.4.21 に取り込んで頂きましたので、以下の修正はもう不要です。

大したハックではありませんが、以下の修正をしました。

修正内容


`t' でオフラインとオンラインをトグル出来るようにしました。デフォル
トの twittering-toggle-proxy() へのキーバインドを変更しています。接
続状態はミニバッファに表示されたアイコンで分かるようになっています。
twitter-plugged
twitter-unplugged

`q' で twittering-mode を終了できるようにしました。

Emacs23 以降で twittering-update-lambda() と
twittering-jojo-mode() を実行すると、文字化けする件を修正しました。
[2009-08-01-1] の件です。

反映方法


twittering-mode.el を置いたディレクトリに icons というディレクトリ
を作り、plugged.xpmunplugged.xpm を置いてください。これらの画像
は Navi2ch に付属するものです。

修正した twittering-mode.el へのパッチは以下になります。アイコンを
表示させるコードは Navi2ch から、ほぼそのまま流用させて頂きました。

続きを読む

2009-08-01 (土)

twittering-mode で「λかわいいよλ」が文字化けする件を調べた [Twmode]

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" といった出力は出来ないのかなあ。

この記事に言及しているこのブログ内の記事

2009-06-07 (日)

twittering-mode.el を試してみた [Twmode]

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 に追加されてしまうので、修正しま
した。

最終更新時間: 2017-08-11 21:21

検索
最近の話題
- 2017-08-07
  github-nippou v3.0.0 released
- 2017-08-02
  『サーバーレスシングルページアプリケーション』を読んだ
- 2017-07-10
  emacs-helm の標準添付から外された helm-elscreen を Melpa に追加した
- 2017-07-05
  WEB+DB PRESS Vol.99の「実践Kubernetes」の第4章でつまづいたメモ #wdpress
- 2017-06-29
  Kubernetes Meetup Tokyo #5 に行ってきた #k8sjp
- 2017-06-26
  『プログラマのためのGoogle Cloud Platform入門』を読んだ
- 2017-06-02
  AWS Summit Tokyo 2017 に行ってきた #AWSSummit
最近追記された記事
- 2017-06-02-1 (41日前)
- 2017-04-29-1 (103日前)
- 2017-04-13-1 (117日前)
- 2017-04-13-1 (119日前)
- 2017-03-02-1 (161日前)
- 2017-02-25-1 (166日前)
- 2017-02-21-1 (170日前)
- 2015-06-07-1 (176日前)
- 2016-10-19-1 (185日前)
- 2016-01-01-1 (197日前)
カテゴリ
- Anthy (3)
- Apache (11)
- Apple (1)
- ATOK (4)
- au (3)
- AWS (19)
- Bazaar (1)
- Berkshelf (2)
- BigQuery (1)
- BitBar (3)
- Book (87)
- Boxen (2)
- Bugsnag (1)
- C (26)
- capistrano (4)
- chalow (56)
- ChatWork (1)
- Chef (17)
- Chrome (3)
- Chromecast (1)
- CircleCI (10)
- Comics (2)
- Cooking (10)
- cvs (15)
- cygwin (12)
- D3.js (1)
- Debian (55)
- Docker (3)
- E-mail (8)
- elasticsearch (4)
- Emacs (220)
- Emacs講座 (10)
- English (4)
- feedforce (7)
- fetchmail (3)
- Firefox (20)
- Fluentd (4)
- ftp (1)
- Game (20)
- GCP (1)
- Gem (5)
- Git (9)
- GitHub (17)
- Go (5)
- Google (1)
- gpg (4)
- GrowthForecast (7)
- Health (3)
- Heroku (9)
- Homebrew (10)
- HTML (6)
- iBook (1)
- iPhone (15)
- IRC (1)
- Jenkins (8)
- JS (1)
- Karabiner (1)
- KeySnail (3)
- Kibana (1)
- Kindle (1)
- Kubernetes (2)
- Langrich (7)
- LDAP (6)
- Life (19)
- Linux (6)
- Mackerel (1)
- Mew (18)
- MongoDB (1)
- Mozilla (19)
- Music (1)
- MySQL (1)
- NAS (4)
- nginx (6)
- NHK (1)
- Node (1)
- ntp (4)
- OOP (1)
- OpenID (2)
- openssl (1)
- Opera (2)
- OSX (41)
- Perl (14)
- PHP (19)
- PostgreSQL (1)
- procmail (4)
- Programing (3)
- Puppet (1)
- Python (2)
- Rails (12)
- Rake (2)
- RaspberryPi (1)
- RedHat (29)
- Redmine (3)
- Rspec (1)
- Ruby (50)
- samba (3)
- screen (7)
- sed (5)
- serverspec (6)
- sh (8)
- Slack (2)
- Solaris9 (22)
- Spring (2)
- ssh (4)
- StatusNet (21)
- svn (12)
- Swift (1)
- Tablet (1)
- tdiary (3)
- Twitter (14)
- Twmode (6)
- Ubuntu (5)
- UNIX (102)
- vagrant (8)
- Video (21)
- vim (1)
- Wercker (9)
- Windows (29)
- Wine (3)
- XML (11)
- XP (1)
- zsh (25)
- インストールメモ (33)
- クイックシェイプ (12)
- ネタ (15)
- 勉強会 (15)
- 携帯 (6)
- 正規表現 (4)
過去ログ
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12
2002 : 01 02 03 04 05 06 07 08 09 10 11 12
2001 : 01 02 03 04 05 06 07 08 09 10 11 12
Google+