[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:03252] den8-thread-mode



やまもとたいぞう@熊本です。
どうもご無沙汰してます。

仕事中に den8view を無性にツリー表示させたくなったので変更してみました。
#どなたかとっくにやってましたっけ?

ちなみに、こんな感じで罫線が入ります。
       [xyzzy:03042] C-_
         ┣[xyzzy:03043] Re: C-_
         ┃┣[xyzzy:03045] Re: C-_
         ┃┃┗[xyzzy:03047] Re: C-_
         ┃┃ ┣[xyzzy:03050] Re: C-_
         ┃┃ ┗[xyzzy:03051] Re: C-_
         ┃┃  ┗[xyzzy:03052] Re: C-_
         ┃┣[xyzzy:03046] Re: C-_
         ┃┣[xyzzy:03048] Re: C-_
         ┃┣[xyzzy:03049] Re: C-_
         ┃┗[xyzzy:03053] Re: C-_
         ┗[xyzzy:03044] Re: C-_
見ての通り表示がくどいですけど、スレッドを追うのが苦手な人にお勧めです。
(、、、というか、自分がそうですけど、、、)
下のを .xyzzy にでも書いて下さい。
----------------------------------------------------

; 罫線表示用フォーマットの追加
(defconstant *den8-print-summary-format-thread*
  "~[ ~; ~;*~;R~;r~;w~;s~:;E~] ~4,'0D \
~D/~2,'0d/~2,'0d ~2,'0d:~2,'0d:~2,'0d ~30@A ~A~A~%")

; den8view
(require "den8view")

; スレッド表示(上書き)
(defun den8-print-thread (l depth &optional head)
  (unless head (setq head ""))
  (let ((z (zerop depth)))
    (mapc #'(lambda (x y)
	      (unless (and z (den8msg-parent x))
		(multiple-value-bind (sec min hour day mon year)
		    (decode-universal-time (den8msg-time x))
		  (format t *den8-print-summary-format-thread*
			  (den8msg-status x)
			  (den8msg-mailno x)
			  year mon day hour min sec
			  (den8msg-from/to x)
			  (concat head (cond (z "")
					     (y "┣")
					     (t "┗")))
			  (den8msg-subject x)))
		(when (den8msg-child x)
		  (den8-print-thread
		   (den8msg-child x)
		   (+ depth 1)
		   (concat head (cond (z "  ")
				      (y "┃")
				      (t " ")))))))
	  l (append (make-list (1- (length l)) :initial-element t) '(nil)))))

----
    YAMAMOTO Taizo / 山本 泰三
              mail : ymtz@xxxxxxxxxxxxxxx
                     yamamoto@xxxxxxxxx
              www  : http://www1.odn.ne.jp/ymtz/

Index Home