From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Sam Halliday Newsgroups: gmane.emacs.help Subject: Re: change buffer in other frame, multiple monitors Date: Thu, 28 May 2015 07:26:11 -0700 (PDT) Message-ID: <7913274f-17ab-449d-b33d-bb70e09aa105@googlegroups.com> References: <06e2726d-4e00-4fb6-bfa3-0f272a652796@googlegroups.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: ger.gmane.org 1432823422 30479 80.91.229.3 (28 May 2015 14:30:22 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 28 May 2015 14:30:22 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Thu May 28 16:30:22 2015 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YxypB-0006D4-Tx for geh-help-gnu-emacs@m.gmane.org; Thu, 28 May 2015 16:30:22 +0200 Original-Received: from localhost ([::1]:59304 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YxypB-00039K-7B for geh-help-gnu-emacs@m.gmane.org; Thu, 28 May 2015 10:30:21 -0400 X-Received: by 10.236.30.226 with SMTP id k62mr3651897yha.24.1432823172146; Thu, 28 May 2015 07:26:12 -0700 (PDT) X-Received: by 10.140.83.165 with SMTP id j34mr44290qgd.23.1432823172114; Thu, 28 May 2015 07:26:12 -0700 (PDT) Original-Path: usenet.stanford.edu!z60no4291356qgd.0!news-out.google.com!k20ni44983qgd.0!nntp.google.com!z60no4290346qgd.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Original-Newsgroups: gnu.emacs.help In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=83.244.128.25; posting-account=kRukCAoAAAANs-vsVh9dFwo5kp5pwnPz Original-NNTP-Posting-Host: 83.244.128.25 User-Agent: G2/1.0 Injection-Date: Thu, 28 May 2015 14:26:12 +0000 Original-Xref: usenet.stanford.edu gnu.emacs.help:212350 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:104634 Archived-At: Workaround incase anybody else comes across this (defun switch-to-buffer-other-frame--no-really (buffer-or-name) "Switch to buffer BUFFER-OR-NAME in the other frame." (interactive (list (read-buffer-to-switch "Switch to buffer in other frame: "))) (other-frame 1) (switch-to-buffer buffer-or-name nil t) (other-frame -1)) (global-set-key (kbd "C-x 5 b") 'switch-to-buffer-other-frame--no-really) On Thursday, 28 May 2015 15:16:42 UTC+1, Sam Halliday wrote: > I'm starting to think that `C-x 5` commands are not really intended to reuse the other frame (despite their name). From the docs http://www.gnu.org/software/emacs/manual/html_node/emacs/Creating-Frames.html > > > If an existing visible or iconified ("minimized") frame already displays the requested buffer, that frame is raised and deiconified ("un-minimized"); otherwise, a new frame is created on the current display terminal. > > > e.g. starting emacs24 (debian jessie) with -Q and type > > C-x 5 2 ;; new frame > C-x 5 b ;; *Messages* > > a THIRD frame is opened. I had expected the other frame to be reused. > > > Is there any way to get the `C-x 5` commands to reuse the other frame instead of creating a new one or am I going to have to rewrite my own functions that first call `other-frame`? > > > > On Thursday, 28 May 2015 15:02:45 UTC+1, Sam Halliday wrote: > > I'm starting to think there must be a bug somewhere. Setting the explicit action is still causing `C-x 5 b` to open a new frame even if one is already open: > > > > (setq display-buffer--other-frame-action > > '((display-buffer-reuse-window display-buffer-pop-up-frame) > > (reusable-frames . t) (inhibit-same-window . t))) > > > > I'm on Debian Jessie but some mac users have said that the out-of-the-box behaviour is for `C-x 5 b` to reuse the other frame. > > > > I'm stumped. Any help appreciated. > > > > > > On Thursday, 28 May 2015 12:22:25 UTC+1, Sam Halliday wrote: > > > I've updated the below with the newer display-buffer-alist approach with > > > > > > (setq display-buffer-alist > > > '((".*" display-buffer-reuse-window (reusable-frames . t)) > > > (".*" display-buffer-pop-up-frame (inhibit-switch-frame . t)))) > > > > > > The reuse-window entry seems to reproduce the behaviour of the legacy setting I was using. > > > > > > I have added a display-buffer-pop-up-frame entry as per the documentation for display-buffer but it seems to be ignored. > > > > > > Is my syntax perhaps incorrect? Maybe there should only be one ".*"? > > > > > > > > > > > > On Wednesday, 27 May 2015 15:16:27 UTC+1, Sam Halliday wrote: > > > > Hi all, > > > > > > > > I have a setup with multiple monitors and when using Emacs I have a frame in each monitor. > > > > > > > > I recently asked a question on this list and the solution was to set > > > > > > > > (setq-default display-buffer-reuse-frames t) > > > > > > > > so that 'next-error would not popup a new window (when the window was already open in a new frame). > > > > > > > > That worked great! I've recently been extending my use of basic emacs commands to include the commands under `C-x 5 ...` (i.e. the "do in the other frame" commands) > > > > > > > > However, when I type `C-x 5 b` and select a buffer name, I am expecting the buffer to be shown in the other frame. But instead, the buffer is opened in a new frame. > > > > > > > > It would appear that setting 'display-buffer-reuse-frames is not enough to force re-use of existing frames and this function is popping up a new one. > > > > > > > > Is there something else I must do to re-use frames? I note that display-buffer-reuse-frames is deprecated, but I'm not entirely sure how to migrate to the new world. > > > > > > > > Best regards, > > > > Sam