[mew-dist 23093] Re: `mew-use-full-window'が無視される。
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
2003年 2月 20日 (木) 21:16:22 JST
白井です。
From: Takashi Masuda (増田貴士) <masutaka at example.com> さん曰く
Subject: [mew-dist 23091] Re: `mew-use-full-window'が無視される。
Message-ID: <20030220.001027.98862277.masutaka at example.com>
Date: Thu, 20 Feb 2003 00:10:27 +0900 (JST)
> > # mew-use-full-window => t の人はやっぱりいらっしゃるのですね。
>
> はい。Windowが小さくなっていくのは嫌ですからね。
# 複数の Window を一気に消すのは "C-x1" で簡単に出来るけど、気に
# いるように分割するのは面倒くさいです。けど、こういうのは人それ
# ぞれですね。
> 私の場合ですと、草稿を作ったけど他のメッセージを参照したくなって、
> summary-modeまで戻り、通常閲覧をする場合(草稿Windowが消えても構わない)に
> 戸惑って(^o^;います。
ということは、こういうことかしら?
(defvar mew-use-delete-draft-window t
"mew-delete-other-window() のときドラフトのウインドウも消す")
(defun mew-delete-other-window ()
(unless (one-window-p)
(let ((owin (selected-window))
wins ret)
(walk-windows
(lambda (win)
(set-buffer (window-buffer win))
(unless (or (eq owin win)
(and (string-match "^mew-" (symbol-name major-mode))
(not (and mew-use-delete-draft-window
(eq major-mode 'mew-draft-mode)))))
(setq wins (cons win wins))))
nil)
(while wins
(unless (one-window-p)
(setq ret t)
(delete-window (car wins)))
(setq wins (cdr wins)))
(select-window owin)
ret)))
あと、mew-use-full-window => nil の環境でも
(define-key mew-summary-mode-map "k" (lambda ()
(interactive) (mew-delete-other-window)))
と summary-mode と message-mode に割り当てておくと、結構便利です
よ。mew-use-full-window => nil, mew-use-delete-draft-window => t
の組合わせがぼくのお好みになりそう。
もう一つ window 制御関係だと、summary から C-cC-o で draft に戻
るときにこんなことをやっています。返信時の三分割状態にすぐ戻せる
ので、(ぼくにとっては)結構便利だと感じています。
(defadvice mew-summary-jump-to-draft-buffer (around jump-msgbuf activate)
"C-cC-o したときの挙動変更"
(let ((obuf (current-buffer))
(owin (selected-window))
(mwin (get-buffer-window (mew-buffer-message))))
(when mwin
(select-window mwin))
ad-do-it
(if (not (eq major-mode 'mew-draft-mode))
(select-window owin)
(let ((wh (window-height))
(fh (frame-height))
(other (delq (selected-window)
(get-buffer-window-list (current-buffer)))))
(if other
(progn
(set-window-buffer (selected-window)
(or (and mwin (mew-buffer-message)) obuf))
(select-window (car other)))
(when (> (* wh 2) fh)
(shrink-window (- wh (/ fh 2)))))))))
P.S.
> でも、カレントウィンドウ幅とフレーム幅を比べれば、
>
> "C-x3"しているときは、delete-other-windows()しない。
> "C-x3"していないときは、delete-other-windows()する。
>
> なんてことができそうですね。
最初、そういうのやろうと思ったんですが、そこまでやる価値があるか?
と思ってやめてしまいました。^^;;;
P.P.S.
>> 3分割だとWindowが狭くなりすぎるので、返信やメッセージ表示の際には
>> Summary + 1 (DraftまたはMessage)の2分割構成にしたい、という気持ち
>> は理解できます。そのように簡単にカスタマイズできるといいのかもし
>> れません。
それも良いかもしれないですが、ぼくは使いそうもないのでモチベーショ
ン(及び暇)が足りないです。どなたかにおまかせです。
--
白井秀行 (mailto:shirai at example.com)
Mew-dist メーリングリストの案内