[Mew-Win32 00169] Re: fiber & browse-url

Shuichi Kitaguchi shuuic-k at example.com
1998年 2月 2日 (月) 21:42:27 JST


From: Hideyuki SHIRAI <Shirai at example.com>
Subject: [Mew-Win32 00168] Re: fiber & browse-url
Date: Mon, 2 Feb 1998 18:51:22 +0900

北口@奈良先端大 です。

> mew-init-hookじゃなくて、ど〜〜んと
> (define-key global-map [S-mouse-2] 'browse-url-at-mouse)
>                         ~~~~~~~~~ 任意のボタン
> にしてしまうのはどうですか?(やりすぎかなぁ?)

さすがに global-map に追加するのは個人の設定の範疇かな、
というわけで添付のパッチではコメントにしてあります。

> あと、今回のスレッドを読んでいて思いついたのですが、こんなのいかがでしょう?
> 大昔書いたものなのですが、個人的にはとても気にいってます。
> (defun netscape)はfiberでいいと思います。

とっても便利なので、すかさず採用させていただきました(^^;
添付してある順に、
・mew-win32.el 0.18 -> 0.19 パッチ (たぶん出してなかったと思うので)
・mew-win32.el 0.19 -> 0.19+ パッチ
です。また、~/.emacs で
  (setq mew-w32-browse-url-button mouse-button-2)
などとすることによってボタンの変更ができます。

あと、S-mouse-2 に割り当てておくと SHIFT が押されていることを
ブラウザが認識するのか、もう一つ窓が立ち上がるという個人的には
嬉しい副作用もありました。


--==| Shuichi Kitaguchi : shuuic-k at example.com |
    |     / kit at example.com / shkit at example.com |==--

--- mew-win32.el.original	Wed Jan 28 12:39:17 1998
+++ mew-win32.el	Fri Jan 30 08:27:11 1998
@@ -2,11 +2,11 @@
 
 ;; Author:  Shuichi Kitaguchi <kit at example.com>
 ;; Created: Dec 05, 1997
-;; Revised: Jan 28, 1998
+;; Revised: Jan 30, 1998
 
 ;;; Code:
 
-(defconst mew-win32-version "mew-win32.el 0.18")
+(defconst mew-win32-version "mew-win32.el 0.19")
 
 ;; Win32 programs.
 (setq mew-w32-exec         "fiber.exe")
@@ -26,7 +26,10 @@
 
 (setq mew-prog-uncompface  "uncompface.exe")
 
-(setq mew-ext-prog-url     mew-w32-exec)
+(setq mew-prog-text/html     mew-w32-exec)
+(setq mew-prog-text/html-arg nil)
+(setq mew-ext-prog-url       mew-w32-exec)
+(setq mew-ext-prog-url-args  nil)
 
 ;; browse-url.
 (defun browse-url-client (url)

--- mew-win32.el.original	Mon Feb 02 12:03:53 1998
+++ mew-win32.el	Mon Feb 02 12:34:24 1998
@@ -2,11 +2,11 @@
 
 ;; Author:  Shuichi Kitaguchi <kit at example.com>
 ;; Created: Dec 05, 1997
-;; Revised: Jan 30, 1998
+;; Revised: Feb 02, 1998
 
 ;;; Code:
 
-(defconst mew-win32-version "mew-win32.el 0.19")
+(defconst mew-win32-version "mew-win32.el 0.19+")
 
 ;; Win32 programs.
 (setq mew-w32-exec         "fiber.exe")
@@ -31,13 +31,33 @@
 (setq mew-ext-prog-url       mew-w32-exec)
 (setq mew-ext-prog-url-args  nil)
 
+
 ;; browse-url.
-(defun browse-url-client (url)
-  (interactive (browse-url-interactive-arg "URL: "))
-  (x-set-selection 'PRIMARY url )
-  (start-process "WWW Browser" nil
-		 mew-w32-exec url))
-(setq browse-url-browser-function 'browse-url-client)
+(defvar mew-w32-browse-url-button mouse-button-3) ; mouse button
+(setq browse-url-regexp "\\(\\([^\-A-Za-z0-9:\/\.\_\!]\\|^\\)[A-Za-z0-9][\-A-Za-z0-9\.\_\!]+@[A-Za-z0-9][\-A-Za-z0-9\.\_\!]+[A-Za-z0-9]\\)\\|\\(\\b\\(s?https?\\|ftp\\|file\\|gopher\\|news\\|telnet\\|wais\\|mailto\\):\\(//[-a-zA-Z0-9_.]+:[0-9]*\\)?[-a-zA-Z0-9_=?#$@~`%&*+|\\/.,]*[-a-zA-Z0-9_=#$@~`%&*+|\\/]+\\)")
+(defun browse-url-or-mew (url)
+  (interactive)
+  "browse-url or mew-send."
+  (message "Starting browse-url... or mew-send...")
+  (cond
+   ((string-match "^mailto:" url)
+    (mew-send (substring url 7 nil)))
+   ((string-match "[:\/]" url)
+    (apply (function start-process)
+	   (format "*mew %s*" mew-ext-prog-url)
+	   mew-buffer-tmp mew-ext-prog-url
+	   (append mew-ext-prog-url-args (list url))))
+   ((string-match "^[A-Za-z0-9]" url)
+    (mew-send url))
+   (t (mew-send (substring url 1 nil)))))
+(setq browse-url-browser-function 'browse-url-or-mew)
+(add-hook 'mew-init-hook
+	  (lambda ()
+	    (progn 
+	      (define-key mew-message-mode-map mew-w32-browse-url-button 'browse-url-at-mouse)
+	      )))
+;; if you want to use browse-url-at-mouse in global-map...
+;;(define-key global-map [S-mouse-3] 'browse-url-at-mouse)
 
 
 ;; Emacs version dependent variables.
@@ -72,6 +92,7 @@
 
 
 (defvar mew-prog-plain '(mew-mime-text/plain () nil))
+(defvar mew-prog-html '(mew-mime-text/html () nil))
 (defvar mew-prog-text '(mew-mime-text/plain () nil))
 (defvar mew-prog-audio (list mew-w32-exec () t))
 (defvar mew-prog-gif (list mew-w32-exec () t))
@@ -92,7 +113,7 @@
 
 ;;; Copyright Notice:
 
-;; Copyright (C) 1996, 1997 Mew developing team.
+;; Copyright (C) 1996, 1997, 1998 Mew developing team.
 ;; All rights reserved.
 
 ;; Redistribution and use in source and binary forms, with or without



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