X-Git-Url: https://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fgnus-win.el;h=809e4c339beab38341159dbd0266c77ffbcb571f;hb=c536c15a7209f1ae01c20beeacde17f7cb861c03;hp=9ac4c28edd9101c68d623603fd15d11327b2a920;hpb=c5f8c0a2f6ae8317c4d918d9fd60cd11f5896ef2;p=gnus diff --git a/lisp/gnus-win.el b/lisp/gnus-win.el index 9ac4c28ed..809e4c339 100644 --- a/lisp/gnus-win.el +++ b/lisp/gnus-win.el @@ -1,26 +1,25 @@ ;;; 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 ;; 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 . ;;; Commentary: @@ -62,18 +61,17 @@ "*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) (defvar gnus-buffer-configuration '((group (vertical 1.0 - (group 1.0 point) - (if gnus-carpal '(group-carpal 4)))) + (group 1.0 point))) (summary (vertical 1.0 - (summary 1.0 point) - (if gnus-carpal '(summary-carpal 4)))) + (summary 1.0 point))) (article (cond (gnus-use-trees @@ -84,16 +82,13 @@ used to display Gnus windows." (t '(vertical 1.0 (summary 0.25 point) - (if gnus-carpal '(summary-carpal 4)) (article 1.0))))) (server (vertical 1.0 - (server 1.0 point) - (if gnus-carpal '(server-carpal 2)))) + (server 1.0 point))) (browse (vertical 1.0 - (browse 1.0 point) - (if gnus-carpal '(browse-carpal 2)))) + (browse 1.0 point))) (message (vertical 1.0 (message 1.0 point))) @@ -107,6 +102,9 @@ used to display Gnus windows." (vertical 1.0 (summary 0.25) (faq 1.0 point))) + (only-article + (vertical 1.0 + (article 1.0 point))) (edit-article (vertical 1.0 (article 1.0 point))) @@ -118,12 +116,16 @@ used to display Gnus windows." (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 @@ -138,7 +140,6 @@ used to display Gnus windows." (pipe (vertical 1.0 (summary 0.25 point) - (if gnus-carpal '(summary-carpal 4)) ("*Shell Command Output*" 1.0))) (bug (vertical 1.0 @@ -164,8 +165,12 @@ used to display Gnus windows." (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.") @@ -178,10 +183,6 @@ See the Gnus manual for an explanation of the syntax used.") (edit-group . gnus-group-edit-buffer) (edit-form . gnus-edit-form-buffer) (edit-server . gnus-server-edit-buffer) - (group-carpal . gnus-carpal-group-buffer) - (summary-carpal . gnus-carpal-summary-buffer) - (server-carpal . gnus-carpal-server-buffer) - (browse-carpal . gnus-carpal-browse-buffer) (edit-score . gnus-score-edit-buffer) (message . gnus-message-buffer) (mail . gnus-message-buffer) @@ -193,12 +194,14 @@ 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. @@ -295,7 +298,7 @@ See the Gnus manual for an explanation of the syntax used.") (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)) @@ -305,7 +308,7 @@ See the Gnus manual for an explanation of the syntax used.") ;; 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)) @@ -368,7 +371,7 @@ See the Gnus manual for an explanation of the syntax used.") (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) @@ -468,7 +471,8 @@ See the Gnus manual for an explanation of the syntax used.") (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." @@ -507,7 +511,7 @@ should have point." ;; 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)) @@ -557,7 +561,7 @@ should have point." (delq lowest-buf bufs))))) (eval-and-compile - (cond + (cond ((fboundp 'frames-on-display-list) (defalias 'gnus-frames-on-display-list 'frames-on-display-list)) ((and (featurep 'xemacs) (fboundp 'frame-device)) @@ -569,9 +573,9 @@ should have point." (defun gnus-get-buffer-window (buffer &optional frame) (cond ((and (null gnus-use-frames-on-any-display) (memq frame '(t 0 visible))) - (car + (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