;;; gnus-win.el --- window configuration functions for Gnus
-;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
-;; Free Software Foundation, Inc.
+
+;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;; This file is part of GNU Emacs.
-;; GNU Emacs is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
"*If non-nil, frames on all displays will be considered useable by Gnus.
When nil, only frames on the same display as the selected frame will be
used to display Gnus windows."
+ :version "22.1"
:group 'gnus-windows
:type 'boolean)
(vertical 1.0
(summary 0.25)
(edit-score 1.0 point)))
+ (edit-server
+ (vertical 1.0
+ (server 0.5)
+ (edit-form 1.0 point)))
(post
(vertical 1.0
(post 1.0 point)))
(reply
(vertical 1.0
- (article-copy 0.5)
+ (article 0.5)
(message 1.0 point)))
(forward
(vertical 1.0
(article 0.5)
(message 1.0 point)))
(display-term
- (vertical 1.0
- ("*display*" 1.0))))
+ (vertical 1.0
+ ("*display*" 1.0)))
+ (mml-preview
+ (vertical 1.0
+ (message 0.5)
+ (mml-preview 1.0 point))))
"Window configuration for all possible Gnus buffers.
See the Gnus manual for an explanation of the syntax used.")
(info . gnus-info-buffer)
(category . gnus-category-buffer)
(article-copy . gnus-article-copy)
- (draft . gnus-draft-buffer))
+ (draft . gnus-draft-buffer)
+ (mml-preview . mml-preview-buffer))
"Mapping from short symbols to buffer names or buffer variables.")
(defcustom gnus-configure-windows-hook nil
"*A hook called when configuring windows."
- :group 'gnus-windowns
+ :version "22.1"
+ :group 'gnus-windows
:type 'hook)
;;; Internal variables.
(unless window
(setq window current-window))
(select-window window)
- ;; This might be an old-stylee buffer config.
+ ;; This might be an old-style buffer config.
(when (vectorp split)
(setq split (append split nil)))
(when (or (consp (car split))
;; The SPLIT might be something that is to be evaled to
;; return a new SPLIT.
(while (and (not (assq (car split) gnus-window-to-buffer))
- (gnus-functionp (car split)))
+ (symbolp (car split)) (fboundp (car split)))
(setq split (eval split)))
(let* ((type (car split))
(subs (cddr split))
(while subs
(setq sub (append (pop subs) nil))
(while (and (not (assq (car sub) gnus-window-to-buffer))
- (gnus-functionp (car sub)))
+ (symbolp (car sub)) (fboundp (car sub)))
(setq sub (eval sub)))
(when sub
(push sub comp-subs)
(gnus-configure-frame split)
(run-hooks 'gnus-configure-windows-hook)
(when gnus-window-frame-focus
- (select-frame (window-frame gnus-window-frame-focus))))))))
+ (gnus-select-frame-set-input-focus
+ (window-frame gnus-window-frame-focus))))))))
(defun gnus-delete-windows-in-gnusey-frames ()
"Do a `delete-other-windows' in all frames that have Gnus windows."
;; The SPLIT might be something that is to be evaled to
;; return a new SPLIT.
(while (and (not (assq (car split) gnus-window-to-buffer))
- (gnus-functionp (car split)))
+ (symbolp (car split)) (fboundp (car split)))
(setq split (eval split)))
(setq type (elt split 0))
(memq frame '(t 0 visible)))
(car
(let ((frames (gnus-frames-on-display-list)))
- (gnus-delete-if (lambda (win) (not (memq (window-frame win)
+ (gnus-remove-if (lambda (win) (not (memq (window-frame win)
frames)))
(get-buffer-window-list buffer nil frame)))))
(t