[mew-dist 26786] Re: ブラウザからの起動方法
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
2006年 1月 31日 (火) 18:20:04 JST
# 前振り開始
もともと mew-browse.el はふたつの機能を持っていまして、
(1) browse-url の機能拡張
=> 最初に作ったときは、NotePC などで、いつでもオンラインな環
境ではないときに、クリックした URL を勝手にメモる機能など
がメインでした。あと、当時は mailto は扱ってくれなかったし。
(2) Emacs 以外のブラウザからのキックも含む rfc2368 の実装
=> 個人的にはイリーガルな MozEx に対応して完成したと思ってい
ます。(もれがあったても、普段使わないような気もする)
です。たかのさんが使ったのは、まだ (1) だけなのです :-)
From: TAKANO Yuji (たかのゆ〜じ) <takachan at example.com> さん曰く
Subject: [mew-dist 26785] Re: ブラウザからの起動方法
Message-ID: <20060131.143552.226755172.takachan at example.com>
Date: Tue, 31 Jan 2006 14:35:52 +0900 (JST)
> さて、konqueror の mailto: をクリックするときなんですが、KDE
> には コントロールセンターで、コンポーネント選択 と言うのがあるの
> ですが、そこに E-メールクライアント と言う欄がありそこに
> emacs -e mew と書く事により mew が起動します。キャプチャ付けてお
> きます;-)。
>
> そう考えると、僕がやりたい事は 西東さん から教えていただいた、
> emacs+mew 起動時にオプションとしてメールアドレスを渡すやり方の方
> がマッチしている気がします。
(2) が前述の FAQ の内容です。西東さんと同じことですが、通常ブラ
ウザの mailto クリックだと to: だけじゃなくて、他のヘッダーやボ
ディも渡せますから、to: だけだとつまらないです :-) しかし、その
方法はブラウザ(や OS)に完璧に依存します。とりあえず代表的な、と
いうかぼくが触れる OS やブラウザに対応しちゃったので満足しちゃっ
ています。
# あ、Zaurus の Netfront や Opera じゃだめだ。
ただし、emacsclient を使ったときは、事前に Emacs が立ち上がって
いないとそのままではうまく動かないです(*1)。普通は必ず Emacs が
立ち上がっているので、あまり問題じゃないですね。
........................................................................
以上は、誤解されたままだと嫌なので(長いけど)とりあえずの説明です。
以降、本題の konqueror 対応の話。
> 現在、KDE では、mailto: をクリックした時に mew にメールアドレ
> スが渡らないのですが、それは KDE 側の問題なので今から調査してみ
> ます。
一丁見付けたのですが、
http://frontrangebsd.org/pipermail/kde-freebsd/2005-November/011689.html
%t: Recipient's address
%s: Subject
%c: Carbon Copy (CC)
%b: Blind Carbon Copy (BCC)
%B: Template body text
%A: Attachment
うーーむ、分解しちゃっているのか。。。
本当にそのままで動くかどうかわからないけど、西東さんの方法で
compose-mail を設定しておいて、
emacsclient --eval '(konqueror-compose-mail "%t" "%s" "%c" "%b" "%B" "%A")'
とすると動くんじゃないかな?
もしかすると、FAQ の MozEx 対応のところみたいな姑息な手段を使わ
ないとだめかもしれませんし、多国語対応などはやってみないとわかん
ないです。これ↓は、~/.emacs に書いてください。
(defun konqueror-compose-mail (&optional to subj cc dcc body attach)
"Interface function of konqueror for `compose-mail'.
call with `(konqueror-compose-mail \"%t\" \"%s\" \"%c\" \"%b\" \"%B\" \"%A\")."
(interactive)
(let ((headers '(cc dcc body))
others)
(while headers
(when (eval (car headers))
(setq others (cons (cons (capitalize (symbol-name (car headers)))
(eval (car headers)))
others)))
(setq headers (cdr headers)))
;; (mew-user-agent-compose to subj others))) ;; <= お好みでこっちでもよい
(compose-mail to subj others)))
# Bcc じゃなくて Dcc を使っています。Mew 以外だと dcc と書いてあ
# るところを bcc に書き換えると良いかも。
# あと %A はわかんない。
--
白井秀行 (mailto:shirai at example.com)
(*1)
emacsclient のバグじゃないかと思っているのだけど。。。
だって、alternate-editor に "--eval" が渡っていないんだもん。
alternate-editor に "/path/emacs --eval" 指定してもダメだったし。
Mew-dist メーリングリストの案内