;;; gnus-win.el --- window configuration functions for Gnus
;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
-;; Author: Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;; This file is part of GNU Emacs.
(vertical 1.0
(summary 0.5 point)
("*Score Words*" 1.0)))
+ (split-trace
+ (vertical 1.0
+ (summary 0.5 point)
+ ("*Split Trace*" 1.0)))
(category
(vertical 1.0
(category 1.0)))
(picons . gnus-picons-buffer-name)
(tree . gnus-tree-buffer)
(score-trace . "*Score Trace*")
+ (split-trace . "*Split Trace*")
(info . gnus-info-buffer)
(category . gnus-category-buffer)
(article-copy . gnus-article-copy)
(t (cdr (assq type gnus-window-to-buffer))))))
(unless buffer
(error "Illegal buffer type: %s" type))
- (switch-to-buffer (get-buffer-create
+ (switch-to-buffer (gnus-get-buffer-create
(gnus-window-to-buffer-helper buffer)))
(when (memq 'frame-focus split)
(setq gnus-window-frame-focus window))
(defun gnus-delete-windows-in-gnusey-frames ()
"Do a `delete-other-windows' in all frames that have Gnus windows."
- (let ((buffers
- (mapcar
- (lambda (elem)
- (let ((buf (gnus-window-to-buffer-helper (cdr elem))))
- (if (not (null buf))
- (get-buffer buf))))
- gnus-window-to-buffer)))
+ (let ((buffers (gnus-buffers)))
(mapcar
(lambda (frame)
(unless (eq (cdr (assq 'minibuffer
(nth 1 (window-edges window)))
(defun gnus-remove-some-windows ()
- (let ((buffers gnus-window-to-buffer)
+ (let ((buffers (gnus-buffers))
buf bufs lowest-buf lowest)
(save-excursion
;; Remove windows on all known Gnus buffers.
- (while buffers
- (and (setq buf (gnus-window-to-buffer-helper (cdar buffers)))
- (get-buffer-window buf)
- (progn
- (push buf bufs)
- (pop-to-buffer buf)
- (when (or (not lowest)
- (< (gnus-window-top-edge) lowest))
- (setq lowest (gnus-window-top-edge))
- (setq lowest-buf buf))))
- (setq buffers (cdr buffers)))
- ;; Remove windows on *all* summary buffers.
- (walk-windows
- (lambda (win)
- (let ((buf (window-buffer win)))
- (when (string-match "^\\*\\(Dead \\)?Summary" (buffer-name buf))
- (push buf bufs)
- (pop-to-buffer buf)
- (when (or (not lowest)
- (< (gnus-window-top-edge) lowest))
- (setq lowest-buf buf)
- (setq lowest (gnus-window-top-edge)))))))
+ (while (setq buf (pop buffers))
+ (when (get-buffer-window buf)
+ (push buf bufs)
+ (pop-to-buffer buf)
+ (when (or (not lowest)
+ (< (gnus-window-top-edge) lowest))
+ (setq lowest (gnus-window-top-edge)
+ lowest-buf buf))))
(when lowest-buf
(pop-to-buffer lowest-buf)
(switch-to-buffer nntp-server-buffer))
- (while bufs
- (when (not (eq (car bufs) lowest-buf))
- (delete-windows-on (car bufs)))
- (setq bufs (cdr bufs))))))
+ (mapcar (lambda (b) (delete-windows-on b t)) bufs))))
(provide 'gnus-win)