[mew-dist 26784] Re: ブラウザからの起動方法

Hideyuki SHIRAI ( 白井秀行 ) shirai at example.com
2006年 1月 31日 (火) 13:29:48 JST


From: TAKANO Yuji (たかのゆ〜じ) <takachan at example.com> さん曰く
Subject: [mew-dist 26782] Re: ブラウザからの起動方法
Message-ID: <20060131.122341.110670693.takachan at example.com>
Date: Tue, 31 Jan 2006 12:23:41 +0900 (JST)

> > konqueror はわかりませんが、wiki FAQ の『ブラウザの mailto クリッ
> > クで Mew を呼び出したい』
> > 
> > http://www.wikiroom.com/mew/index.php?MewFAQ#content_1_33
> > 
> > を参考にどうぞ。
> 
>   有り難うございました。ちょっと試してみましたが、URL をクリック
> した時にブラウザが起動する設定と競合してしまいますねぇ・・。

です。そうじゃないと、Emacs で URL をクリックしたときに mailto
なのか http なのかの判定がつきません。

browse-url.el も賢くなって "mailto:" を扱ってくれるようになりま
したが、mew-browse.el の方が歴史と伝統と変なこだわりがあるのでお
薦めかな?

> (setq mew-prog-text/html-ext
>            '("firefox" ("-a" "firefox" "-remote" "openFile(%s)") t))
> (setq browse-url-browser-function 'browse-url-mozilla)
> ;(setq browse-url-mozilla-program "firefox")
> (setq browse-url-mozilla-program "konqueror")

ふむふむ。この "openFile(%s)" の形式に mew-browse.el が対応して
いませんね。申し訳ない。

(setq mew-ext-prog-url "konqueror")
(setq mew-ext-prog-url-args '("-a" "firefox" "-remote" "openURL(%s)"))

と設定しつつ、付属のパッチでお望みの動作になると思います。

# パッチあてといてくれませんか? > 山本さん

> (define-key mew-message-mode-map [mouse-2] 'browse-url-at-mouse)
> (setq thing-at-point-url-path-regexp "[~/A-Za-z0-9---_.?=&${}#%,:]+")
> 
>   mew-prog-text/html-ext がぶつかりました。後、mailto: の @ から
> 右側を持ってきてくれないみたいです。
  ~~~~~~~~~~~~~~~~~~~~~~~~

持ってきてくれないのは、thing-at-point-url-path-regexp に "@" が
入っていないためでしょう。ぼくの ~/.emacs には、

(setq thing-at-point-url-path-regexp "[-~/A-Za-z0-9_.${}#%,:@?%&|=+]+")

なのが書いてありましたが、長年使っているので、そんな変な設定でも
ないと思いますよ。thing-at-point-url-path-regexp を書き換えたら、
再起動 or thing-at-point-url-regexp の再設定が必要です。


From: sai at example.com さん曰く
Subject: [mew-dist 26783] Re: ブラウザからの起動方法
Message-ID: <20060131.125230.146942601.sai at example.com>
Date: Tue, 31 Jan 2006 12:52:30 +0900 (JST)

> emacs --eval '(compose-mail "hoge at example.com")'
> 
> と起動する方法ではだめでしょうか。 (emacsclientでも可)

compose-mail() だと、rfc2368 で定義されているものすべては扱えな
いのですよね。mew-browse.el を使わないなら browse-url.el の
browse-url-mail() を call した方が良いです。

# あきらめるとか書かれたので、一気にやって :-)

-- 
白井秀行 (mailto:shirai at example.com)

Index: mew-browse.el
===================================================================
RCS file: /cvsmew/mew/contrib/mew-browse.el,v
retrieving revision 1.11
diff -u -u -r1.11 mew-browse.el
--- mew-browse.el	29 May 2005 23:49:28 -0000	1.11
+++ mew-browse.el	31 Jan 2006 04:08:38 -0000
@@ -167,10 +167,23 @@
     (require 'w3)
     (w3-fetch-other-frame url))
    (t
-    (apply (function start-process)
-	   (format "*mew %s*" mew-ext-prog-url)
-	   nil mew-ext-prog-url 
-	   (append mew-ext-prog-url-args (list url))))))
+    (let ((orig mew-ext-prog-url-args)
+	  args replace)
+      (while orig
+	(if (string-match "%s" (car orig))
+	    (progn
+	      (setq args (cons (format (car orig) url) args))
+	      (setq esqp t)
+	      (setq replace t))
+	  (setq args (cons (car orig) args)))
+	(setq orig (cdr orig)))
+      (setq args (nreverse args))
+      (apply (function start-process)
+	     (format "*mew %s*" mew-ext-prog-url)
+	     nil mew-ext-prog-url
+	     (if replace
+		 args
+	       (append args (list url))))))))
 
 (defun mew-url-mailto (url)
   "Execute mew-user-agent-compose with parsing RFC2368.




Mew-dist メーリングリストの案内