From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/53939 Path: main.gmane.org!not-for-mail From: Katsumi Yamaoka Newsgroups: gmane.emacs.gnus.general Subject: Re: multiple message frames Date: Thu, 11 Sep 2003 16:06:37 +0900 Organization: Emacsen advocacy group Sender: ding-owner@lists.math.uh.edu Message-ID: References: NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: sea.gmane.org 1063264121 11306 80.91.224.253 (11 Sep 2003 07:08:41 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 11 Sep 2003 07:08:41 +0000 (UTC) Original-X-From: ding-owner+M2479@lists.math.uh.edu Thu Sep 11 09:08:39 2003 Return-path: Original-Received: from malifon.math.uh.edu ([129.7.128.13]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 19xLZH-0006nI-00 for ; Thu, 11 Sep 2003 09:08:39 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by malifon.math.uh.edu with smtp (Exim 3.20 #1) id 19xLYX-00026V-00; Thu, 11 Sep 2003 02:07:53 -0500 Original-Received: from sclp3.sclp.com ([64.157.176.121]) by malifon.math.uh.edu with smtp (Exim 3.20 #1) id 19xLYL-00026N-00 for ding@lists.math.uh.edu; Thu, 11 Sep 2003 02:07:41 -0500 Original-Received: (qmail 77266 invoked by alias); 11 Sep 2003 07:07:41 -0000 Original-Received: (qmail 77260 invoked from network); 11 Sep 2003 07:07:41 -0000 Original-Received: from quimby.gnus.org (80.91.224.244) by sclp3.sclp.com with SMTP; 11 Sep 2003 07:07:41 -0000 Original-Received: from news by quimby.gnus.org with local (Exim 3.12 #1 (Debian)) id 19xLZ2-0007wD-00 for ; Thu, 11 Sep 2003 09:08:24 +0200 Original-To: ding@gnus.org Original-Path: not-for-mail Original-Newsgroups: gnus.ding Original-Lines: 93 Original-NNTP-Posting-Host: minsk.servershost.net Original-X-Trace: quimby.gnus.org 1063264104 29349 69.61.9.140 (11 Sep 2003 07:08:24 GMT) Original-X-Complaints-To: usenet@quimby.gnus.org Original-NNTP-Posting-Date: 11 Sep 2003 07:08:24 GMT X-Face: #kKnN,xUnmKia.'[pp`;Omh}odZK)?7wQSl"4o04=EixTF+V[""w~iNbM9ZL+.b*_CxUmFk B#Fu[*?MZZH@IkN:!"\w%I_zt>[$nm7nQosZ<3eu;B:$Q_:p!',P.c0-_Cy[dz4oIpw0ESA^D*1Lw= L&i*6&( User-Agent: Gnus/5.1003 (Gnus v5.10.3) XEmacs/21.4 (Reasonable Discussion, linux) Cancel-Lock: sha1:z3Q9VMpaKt6TiTK8Zh47pvKK9U0= Precedence: bulk Xref: main.gmane.org gmane.emacs.gnus.general:53939 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:53939 --=-=-= Hi, This is the revised version of the "multiple message frames" suit. It makes it possible to open multiple message frames and delete each frame automatically after sending or killing it. You can use it by simply putting it in your .gnus.el file. Enjoy! --=-=-= Content-Type: application/emacs-lisp Content-Disposition: inline (let* ((default ;; Winodw layout for normal message frames. '(vertical ((user-position . t) ;;(left . -1) (top . 1) (width . 80) (height . 40)) (message 1.0 point))) (bug ;; Window layout for message frames reporting bugs. ;; Note that multiple gnus-bug frames are not supported. '(vertical ((user-position . t) ;;(left . -1) (top . 1) (width . 80) (height . 40)) (if gnus-bug-create-help-buffer '("*Gnus Help Bug*" 0.5)) ("*Gnus Bug*" 1.0 point))) (config `(frame 1.0 (if (buffer-live-p gnus-summary-buffer) (if (get-buffer gnus-article-buffer) (car (cdr (assq 'article gnus-buffer-configuration))) (car (cdr (assq 'summary gnus-buffer-configuration)))) (car (cdr (assq 'group gnus-buffer-configuration)))) ,default)) (settings '(compose-bounce forward mail-bounce message post reply reply-yank))) (while settings (gnus-add-configuration (list (car settings) config)) (setq settings (cdr settings))) (setcdr (nthcdr 2 (setq config (copy-sequence config))) (list bug)) (gnus-add-configuration (list 'bug config))) (add-hook 'gnus-configure-windows-hook (lambda nil (if (eq major-mode 'message-mode) (let* ((message-frame (selected-frame)) (delete-frame-function `(lambda nil (if (and ;; Uncomment the following line if other windows ;; in message frames are supposed to be important. ;;(eq (selected-window) (next-window)) (eq (selected-frame) ,message-frame)) (delete-frame ,message-frame))))) (setq gnus-frame-list (delq message-frame gnus-frame-list) message-exit-actions `((funcall ,delete-frame-function)) message-postpone-actions message-exit-actions) (if (or (featurep 'xemacs) (< emacs-major-version 21)) (make-local-hook 'kill-buffer-hook)) (add-hook 'kill-buffer-hook `,delete-frame-function t t))))) ;; Don't popup a message frame when sending a queued message. (add-hook 'gnus-message-setup-hook (lambda nil (if (or (memq this-command '(gnus-draft-send-message gnus-draft-send-all-messages gnus-group-send-queue)) (and (featurep 'gnus-delay) (save-excursion (save-restriction (widen) (message-narrow-to-headers) (re-search-forward (concat "^" (regexp-quote gnus-delay-header) ":\\s-+") nil t))))) (let ((config (copy-sequence gnus-buffer-configuration))) (set (make-local-variable 'gnus-buffer-configuration) (cons '(forward (vertical 1.0 (message 1.0 point))) (delq (assq 'forward config) config))) (set (make-local-variable 'gnus-configure-windows-hook) nil))))) --=-=-=--