[mew-dist 22932] split horizon

Kazu Yamamoto ( 山本和彦 ) kazu at example.com
2003年 1月 20日 (月) 22:06:40 JST


主に許さんへ、

昔、Summary モードを縦に割って、両方で Message モードを表示させたいと
いう要望があったかと思いますが、実装してみました。

Summary モードで、SPC を押す前に、C-x3 で縦に割って下さい。

引用などでは、直感通りには動きません。そこまではやる気なし。メッセージ
を並べて読むのが目的だから。

--かず

Index: mew.el
===================================================================
RCS file: /cvsroot/mew/mew/mew.el,v
retrieving revision 1.165
diff -c -r1.165 mew.el
*** mew.el	2003/01/20 03:04:55	1.165
--- mew.el	2003/01/20 13:02:58
***************
*** 409,427 ****
  ;;; Message buffer
  ;;;
  
  (defun mew-buffer-message ()
    (let* ((me (selected-frame))
  	 (frames (frame-list))
  	 (len (length frames))
  	 (i 0))
      (catch 'loop
        (while frames
!       (if (equal me (car frames))
! 	  (throw 'loop i))
!       (setq i (1+ i))
!       (setq frames (cdr frames))))
      (setq i (- len i 1))
!     (format "%s%d" mew-buffer-message i)))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
--- 409,443 ----
  ;;; Message buffer
  ;;;
  
+ (defun mew-window-number ()
+   (let ((x (car (window-edges (selected-window))))
+ 	(wins (window-list)) 
+ 	(i 1)
+ 	win)
+     (while wins
+       (setq win (car wins))
+       (setq wins (cdr wins))
+       (when (save-excursion (window-buffer win) (mew-summary-p))
+ 	(if (> x (car (window-edges win)))
+ 	    (setq i (1+ i)))))
+     i))
+ 
  (defun mew-buffer-message ()
    (let* ((me (selected-frame))
  	 (frames (frame-list))
  	 (len (length frames))
+ 	 (n (mew-window-number))
  	 (i 0))
      (catch 'loop
        (while frames
! 	(if (equal me (car frames))
! 	    (throw 'loop i))
! 	(setq i (1+ i))
! 	(setq frames (cdr frames))))
      (setq i (- len i 1))
!     (if (= n 1)
! 	(format "%s%d" mew-buffer-message i)
!       (format "%s%d<%d>" mew-buffer-message i n))))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;




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