[mew-dist 25866] Re: emacs-21.3におけるtool-barの振る舞い

SAKAI Kiyotaka ksakai at example.com
2005年 1月 5日 (水) 11:20:40 JST


>> In article <20050105.100600.191376021.kazu at example.com>, Kazu Yamamoto (山本和彦) <kazu at example.com> writes:

> うーん。このパッチを当てて、たとえば "g" コマンドを使ったとしても、
> tool-bar は切り替わってしまいます。current でも、21.3 でもそうです。

すいません、menu-bar と tool-bar を勘違いしていました。

ただ、menu-bar も tool-bar もそうですが、普通の buffer, mini-buffer に
よらず、カーソルのある位置に対応したものが表示されますので、各 buffer
や mini-buffer 用の menu-bar, tool-bar を用意しておくだけで自動的に表示
されるようになるはずです。

例えば、*Mew message*0 buffer に移動したときも Mew 用の tool-bar を表示
させるためには以下のような修正でできました。

Index: mew-gemacs.el
===================================================================
RCS file: /cvsmew/mew/mew-gemacs.el,v
retrieving revision 1.30
diff -u -r1.30 mew-gemacs.el
--- mew-gemacs.el	22 Oct 2004 12:48:56 -0000	1.30
+++ mew-gemacs.el	5 Jan 2005 01:40:37 -0000
@@ -74,6 +74,11 @@
       (set (make-local-variable 'tool-bar-map)
 	   (mew-toolbar-make mew-summary-toolbar-spec mew-summary-mode-map))))
 
+(defun mew-message-setup-decoration ()
+  (if mew-icon-p
+      (set (make-local-variable 'tool-bar-map)
+	   (mew-toolbar-make mew-message-toolbar-spec mew-message-mode-map))))
+
 (defun mew-draft-setup-decoration ()
   (if mew-icon-p
       (set (make-local-variable 'tool-bar-map)
Index: mew-message.el
===================================================================
RCS file: /cvsmew/mew/mew-message.el,v
retrieving revision 1.19
diff -u -r1.19 mew-message.el
--- mew-message.el	17 May 2004 11:48:42 -0000	1.19
+++ mew-message.el	5 Jan 2005 01:40:37 -0000
@@ -46,6 +46,7 @@
   (setq buffer-read-only t)
   (make-local-variable 'page-delimiter)
   (setq page-delimiter mew-page-delimiter)
+  (mew-message-setup-decoration)
   (mew-message-toolbar-update)
   (run-hooks 'mew-message-mode-hook))
 

minibuffer の場合は悩ましいですが、minibuffer-setup-hook を使うという手
はあるかと思います。以下のパッチは動作の様子を確認するためのパッチで実
用的ではありませんが、"o" で tool-bar が切り変わらないことが確認できる
かと思います。

Index: mew-minibuf.el
===================================================================
RCS file: /cvsmew/mew/mew-minibuf.el,v
retrieving revision 1.118
diff -u -r1.118 mew-minibuf.el
--- mew-minibuf.el	27 Dec 2004 03:08:46 -0000	1.118
+++ mew-minibuf.el	5 Jan 2005 02:15:24 -0000
@@ -607,9 +607,12 @@
 	  (setq prompt (format "Folder name <%s:>: " case))
 	(setq prompt "Folder name: "))
       (setq init (mew-join "," folder-list))))
-    (setq ret (read-from-minibuffer prompt
-				    init mew-input-folder-map nil
-				    'mew-input-folder-hist))
+    (let ((minibuffer-setup-hook
+	   (lambda () (set (make-local-variable 'tool-bar-map)
+			   (mew-toolbar-make mew-summary-toolbar-spec mew-summary-mode-map)))))
+      (setq ret (read-from-minibuffer prompt
+				      init mew-input-folder-map nil
+				      'mew-input-folder-hist)))
     (when (and singlep (string= ret init))
       (setq ret default))
     (setq ret (mapcar 'mew-chop (mew-split ret ?,)))


-- 
酒井 清隆 (E-mail: kiyotaka.sakai at example.com)



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