[Mew-Win32 03022] Re: [Mew-dist 16044] Re: How to display "Mail(n)" on title var.
Tak Ota
Takaaki.Ota at example.com
2001年 1月 26日 (金) 03:51:17 JST
In the message "[Mew-dist 16044] Re: [Mew-Win32 02995] How to display "Mail(n)" on title var."
on Fri, 26 Jan 2001 00:22:12 +0900
Kazu Yamamoto (山本和彦) <kazu at example.com> wrote:
> From: Tak Ota <Takaaki.Ota at example.com>
> Subject: [Mew-dist 15932] Re: [Mew-Win32 02995] How to display "Mail(n)" on title var.
>
> > これに限らずユーザー毎に様々な要望が出てくると思います。現在の (beep)
> > の mew-use-biff-bell の様に特定フラグで既製動作を制御するよりも一発
> > hook (この場合 n すなわち (length msgs) を渡すと便利なので hook より
> > も hooks かも)を用意して呼んではどうでしょうか?そのためには現在の
> > mew-pop-command-umsg 内での biff 処理の場所は hooks から返るタイミング
> > に依存しないように最後に移動したほうがよいように思われます。
>
> Biff は sentinel に移しました。どこに hook を入れればよいか、パッチを
> 下さい。
>
> --かず
了解しました。こんなもんでどうでしょうか。
--- /pub/mew/mew-1.95b100/mew-vars.el Tue Jan 23 03:01:13 2001
+++ mew-vars.el Thu Jan 25 09:53:06 2001
@@ -275,6 +275,11 @@
:group 'mew-addrbook
:type 'hook)
+(defcustom mew-biff-notifier-hook '(mew-biff-default-notifier)
+ "*Hook called when biff information is available."
+ :group 'mew-env
+ :type 'hook)
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; Mail Addresses
--- /pub/mew/mew-1.95b100/mew-pop.el Thu Jan 25 04:44:50 2001
+++ mew-pop.el Thu Jan 25 10:40:00 2001
@@ -137,6 +137,7 @@
;;;
(defvar mew-biff-string nil)
+(defvar mew-biff-number-of-messages 0)
(defvar mew-pop-biff-timer-id nil)
(defun mew-pop-biff (&optional arg) ;; for XEmacs
@@ -169,6 +170,15 @@
(if mew-pop-biff-timer-id (mew-timer-reset mew-pop-biff-timer-id))
(setq mew-pop-biff-timer-id nil))
+(defun mew-biff-default-notifier ()
+ "Called via `mew-biff-notifier-hook'"
+ (if (zerop mew-biff-number-of-messages)
+ (setq mew-biff-string nil)
+ (and mew-use-biff-bell
+ (null mew-biff-string)
+ (ding))
+ (setq mew-biff-string (format "Mail(%d)" mew-biff-number-of-messages))))
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; Opening POP
@@ -314,17 +324,16 @@
(cnt (mew-pop-get-cnt pnm))
(inbox (mew-pop-get-inbox pnm))
(directive (mew-pop-get-directive pnm))
- (n (length (mew-pop-get-messages pnm)))
savep)
(mew-pop-debug "<SENTINEL>" event)
(mew-filter
- (if (eq directive 'biff)
- (if (= n 0)
- (setq mew-biff-string nil)
- (if (and mew-use-biff-bell (eq mew-biff-string nil))
- (beep))
- (setq mew-biff-string (format "Mail(%d)" n)))
- (setq mew-biff-string nil)) ;; received
+ (let ((prev-messages mew-biff-number-of-messages))
+ (setq mew-biff-number-of-messages
+ (if (eq directive 'biff)
+ (length (mew-pop-get-messages pnm))
+ 0))
+ (if (or (< 0 prev-messages) (< 0 mew-biff-number-of-messages))
+ (run-hooks 'mew-biff-notifier-hook)))
(cond
((eq cnt nil)
)
Mew-win32 メーリングリストの案内