[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

w3m-view-url-with-external-browser で新規タブで開きたい



安宅です。
w3m-view-url-with-external-browser で開くブラウザーで
新規タブで URL を開く方法を教えて下さい。


flash や JavaScript なページを見ようと
emacs-w3m から w3m-view-url-with-external-browser を
呼び出すことがよくあります。

この時、w3m-content-type-alist の内容によって起動する
ブラウザーが選ばれますが、私はここで browse-url-firefox が
選ばれるよう設定しています [1]。

(setq w3m-content-type-alist
      (cons
       '("text/html" "\\.s?html?$" browse-url-firefox) w3m-content-type-alist))

このままでは、browse-url は適当なウィンドウを
上書きする形で URL を開くので、
新規タブで開くよう次の設定を入れています。

(setq browse-url-new-window-flag t
      browse-url-firefox-new-window-is-tab t)

しかし、この新規タブは開かれません。


以下の設定を

(setq browse-url-browser-function 'w3m-browse-url)

次のように変え

(setq browse-url-browser-function 'browse-url-firefox)

browse-url すると、新規タブが開かれます。


原因を探してみましたが、browse-url.el 内の関数
browse-url-maybe-new-window が悪さをしているのでは
ないか...

(defmacro browse-url-maybe-new-window (arg)
  `(if (or noninteractive (not (called-interactively-p)))
       ,arg
     browse-url-new-window-flag))

(defun browse-url-firefox (url &optional new-window)
 ..................................
		    (list "-remote"
			  (concat "openURL("
				  url
				  (if (browse-url-maybe-new-window
				       new-window)
				      (if browse-url-firefox-new-window-is-tab
					  ",new-tab"
					",new-window"))

と思うのですが、これをどう直すべきなのか
(そもそも browse-url-maybe-new-window の挙動が正しいのか?)
が分かりません。

何かよい知恵はないものでしょうか?

[1] browse-url-firefox は 2005-06-18 に追加されたようです
  See also http://at-aka.blogspot.com/2005/09/emacs-firefox.html

                                    ----Input with T-Code!
                         http://pop-club.hp.infoseek.co.jp
     Masayuki Ataka / 安宅 正之 (ataka@milk.freemail.ne.jp)