From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Matthias Meulien Newsgroups: gmane.emacs.help Subject: Re: dedicated frames - not quite special-display Date: 18 Sep 2002 20:46:32 +0200 Organization: ...!#$@~? Sender: help-gnu-emacs-admin@gnu.org Message-ID: References: NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1032375357 18145 127.0.0.1 (18 Sep 2002 18:55:57 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 18 Sep 2002 18:55:57 +0000 (UTC) Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 17rjzP-0004iU-00 for ; Wed, 18 Sep 2002 20:55:55 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 17rjzl-00024k-00; Wed, 18 Sep 2002 14:56:17 -0400 Original-Path: shelby.stanford.edu!nntp.stanford.edu!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!colt.net!easynet-quince!mango.news.easynet.net!easynet.net!proxad.net!feeder2-1.proxad.net!news2-1.free.fr!not-for-mail Mail-Copies-To: never Original-Newsgroups: gnu.emacs.help User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Original-Lines: 30 Original-NNTP-Posting-Date: 18 Sep 2002 20:41:12 MEST Original-NNTP-Posting-Host: 62.147.161.177 Original-X-Trace: 1032374472 news2-1.free.fr 254 62.147.161.177 Original-X-Complaints-To: abuse@proxad.net Original-Xref: nntp.stanford.edu gnu.emacs.help:105043 Original-To: help-gnu-emacs@gnu.org Errors-To: help-gnu-emacs-admin@gnu.org X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.help:1597 X-Report-Spam: http://spam.gmane.org/gmane.emacs.help:1597 The following works for me. All buffer with a name matching `special-special-buffer-regexp' are displayed in a common frame. (setq special-special-buffer-regexp "REGEXP") (defun special-special-windowp (window) "Returns nil if and only if WINDOW displays a buffer whose name doesn't match `special-special-buffer-regexp'." (let ((name (buffer-name (window-buffer window)))) (string-match special-special-buffer-regexp name))) (defun special-special-display-function (buffer &optional args) "Display BUFFER in its own frame, reusing an existing window displaying a buffer whose name match `special-special-buffer-regexp' if any." (let ((window (get-window-with-predicate 'special-special-windowp nil t))) (if window (progn (set-window-dedicated-p window nil) (select-window window) (switch-to-buffer buffer) (set-window-dedicated-p window t)) (special-display-popup-frame buffer args)))) (let ((list `(,special-special-buffer-regexp special-special-display-function))) (add-to-list 'special-display-regexps list)) -- Matthias