emacs-devel
[Top][All Lists]
Advanced

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

Re: menu-bar: disable items when no frame visible


From: Stefan Monnier
Subject: Re: menu-bar: disable items when no frame visible
Date: Sun, 25 Dec 2005 16:54:52 -0000
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

>>> (This made sense in my own setup because I have advised switch-to-
>>> buffer to show most buffers in a new frame, so I don't usually get
>>> that error.)
>> 
>> This looks like what `pop-up-frames' is intended for.

Except that switch-to-buffer doesn't pay attention to it.  That's one of the
main reasons why switch-to-buffer should be avoided in elisp code and used
"only" via C-x b.

> I want much more fine-control over what is opened where. I have a  mode
> called `one-buffer-one-frame' which will display newly visited  files in
> separate frames and generally create new frames for things,  with the
> exception of stuff like completions buffers or other  buffers, usually *...*
> ones.  A more compatible way to do this (better than to advise
> switch-to-buffer and use my own display-buffer function) would be much
> appreciated, of course.

For the switch-to-buffer advice, the only alternative I know is to fix the
source code :-(.
But in order to show *...* elsewhere, all you need should be something like

   (add-to-list 'special-display-regexp '("\\*.*\\*" (same-frame . t)))

> Besides, display-buffer is documented to show the buffer in a new window
> without selecting it.  When pop-up-frames is non-nil, it creates a new
> frame, but selects it, which is annoying when you want to, e.g. display
> a quick *Help* but keep working in the original frame.

That's a bug.


        Stefan




reply via email to

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