[Mew-dist 09532] Re: make new frame

Shun-ichi TAHARA ( 田原 俊一 ) jado at example.com
1999年 7月 2日 (金) 18:09:06 JST


かなり昔の話ですが…

From: nara at example.com
Message-ID: <19990514111554N.nara at example.com>

> mewでメールを読む時に、新しいフレームを作成して終了した時に削除するよ
> うにしたいのですが、どのようにすれば良いのでしょうか。
> XEmacsのVMの様にしたいのですが。

XEmacsのツールバーから、別フレームでMewを起動するようにしたLispをでっち
上げてみました。toolbar-items.el の、Gnusの部分の記述をそっくりそのまま
持ってきただけともいいます :-)。

site-start.el ででも、.emacs ででも、
(require 'mew-toolbar-frame)
と書いておくと、次のことを実現します。
・ツールバーのMailボタンで、toolbar-mew関数からMewを起動するように設定
・toolbar-mew関数によって、別フレームを作ってMewを起動し、
  mew-summary-suspend(q)や、mew-summary-quit(Q)で、フレームを消す

XEmacs-21.2.13でのみ動作確認しております。

もし、ツールバーボタン以外からでも同じことをしたければ、toolbar-mewを呼
んでください。
_______________________________
田原 俊一   jado at example.com, shunichi_tahara at example.com
      株式会社ゼンリン 研究部 情報システム課 イントラネットGr.
                    http://www2.osk.3web.ne.jp/~jado/ [MOVED!]
FingerPrint: 16 9E 70 3B 05 86 5D 08 - B8 4C 47 3A E7 E9 8E D9
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
-------------- next part --------------
;;; mew-toolbar-frame.el	-*-Emacs-Lisp-*-
;;;
;;; Commentary:
;;; Run Mew from toolbar in a separate frame.
;;;
;;; Keywords:
;;; Mew Xemacs ToolBar Frame
;;;
;;; Time-stamp: <99/07/02 16:37:17 jado at example.com>

;;; How to use:
;;; Require it when initialize.

;;; Code:

(provide 'mew-toolbar-frame)

;;;

(setq toolbar-mail-reader 'Mew)
(setq toolbar-mail-commands-alist
      (cons '(Mew . toolbar-mew) toolbar-mail-commands-alist))

(defvar toolbar-mail-use-separate-frame t
  "*Whether Mew is invoked in a separate frame.")
(defvar toolbar-mail-frame nil
  "The frame in which Mew is displayed.")
(defvar toolbar-mail-frame-plist nil
  "*The properties of the frame in which mail is displayed.")
(define-obsolete-variable-alias 'toolbar-mail-frame-properties
  'toolbar-mail-frame-plist)

(defun toolbar-mew ()
  "Run Mew in a separate frame."
  (interactive)
  (if (not toolbar-mail-use-separate-frame)
      (mew)
    (unless (frame-live-p toolbar-mail-frame)
      (setq toolbar-mail-frame (make-frame toolbar-mail-frame-plist))
      (add-hook 'mew-suspend-hook
	(lambda ()
	  (when (frame-live-p toolbar-mail-frame)
	    (if (cdr (frame-list))
		(delete-frame toolbar-mail-frame))
	    (setq toolbar-mail-frame nil))))
      (add-hook 'mew-quit-hook
	(lambda ()
	  (when (frame-live-p toolbar-mail-frame)
	    (if (cdr (frame-list))
		(delete-frame toolbar-mail-frame))
	    (setq toolbar-mail-frame nil))))
      (select-frame toolbar-mail-frame)
      (mew))
    (when (framep toolbar-mail-frame)
      (when (frame-iconified-p toolbar-mail-frame)
        (deiconify-frame toolbar-mail-frame))
      (select-frame toolbar-mail-frame)
      (raise-frame toolbar-mail-frame))))

;;; mew-toolbar-frame.el ends here


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