[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 メーリングリストの案内