emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [display-buffer] a way to make it behave as before?


From: Katsumi Yamaoka
Subject: Re: [display-buffer] a way to make it behave as before?
Date: Mon, 20 Jun 2011 14:39:11 +0900
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.50 (cygwin)

(I believe I use the most recent bzr Emacs 24.)

>> I'm fiddling `display-buffer-alist' and others so as to make
>> `display-buffer' behave as before, though I didn't find out a
>> smart way so far.  What behavior I want is:
>>
>> `find-file-other-window' opens a file in the other window of
>> the frame when the frame is split into two windows.  Don't split
>> either of two windows into two, IOW don't change the window
>> configuration of the frame[1].

> I just provided a new specifier for `display-buffer-alist' called
> other-window-means-other-frame.  Please set it and tell me whether it
> works (Sometimes I wonder what `find-file-other-frame' is for ;-)).

Where/How can I find that specifier in the customization buffer?
Ok.  I tried those two:

(progn
  (makunbound 'display-buffer-alist)
  (load "window")
  (setcdr (car display-buffer-alist)
          (append (cdar display-buffer-alist)
                  '((other-window-means-other-frame . nil)))))

(progn
  (makunbound 'display-buffer-alist)
  (load "window")
  (setcdr (car display-buffer-alist)
          (append '((other-window-means-other-frame . nil))
                  (cdar display-buffer-alist))))

But I saw no difference.  `C-x 4 f' or `C-x 4 b' still opens a file
or a buffer in a new frame, or another existing frame that already
displays its window.  In the later case, I cannot see it immediately
if that frame is hidden by other applications or iconified.

I only want to see it in the other window of the current frame.

>> Even if there is a window that
>> visits the file in another frame, don't use it[2].

> Does this mean that in Emacs 23 you have `display-buffer-reuse-frames'
> nil and `pop-up-frames' t?

No, both are nil.  I leave most such options the default.

> Anyway.  Why don't you remove all instances of reuse-window from
> `display-buffer-alist' that would use a window on another frame, that
> is, use only instances of the (reuse-window ... ... nil) type.  This way
> a window gets reused iff it's on the selected frame.

The main reason I want to do all within the current frame is because
Emacs doesn't raise a hidden frame.  On cygwin (I use it in the office)
and on Fedora 14 Linux (I use it in home), Emacs puts a newly created
frame on the top of the screen, but it doesn't for a frame that exists
but is hidden.

As for Fedora 14, I use an external program called `wmctrl' to make
`raise-frame' work, but it has no effect on cygwin.  Cf.
http://lists.gnu.org/archive/html/emacs-devel/2006-10/msg01117.html

>> As for the `other-window' specifier, it seems there's no way to
>> customize so as to make it behave as above.  (It might be
>> `display-buffer-macro-specifiers', but it's a constant.)

> It's been already removed from there.  Please have a look.

Confirmed.  Thanks.

>> I wish there were a switch that makes it behave as before. ;-)
>>
>> [1] I don't want an Emacs frame to be split into many windows,
>>     because the screen height of my note is not so high, and
>>     a font I use is not so small.
>> [2] `raise-frame' doesn't work on cygwin (and possibly some
>>     window managers, like metacity).



reply via email to

[Prev in Thread] Current Thread [Next in Thread]