posframe use this feature, for recreate a new frame is very very slowly, while hide and show very fast :-)
--
发自我的网易邮箱手机智能版
<br/><br/><br/>
----- Original Message -----
From: "Alan Mackenzie" <acm@muc.de>
To: emacs-devel@gnu.org
Sent: Thu, 22 Apr 2021 10:09:10 +0000
Subject: What are invisible frames for?
Hello, Emacs.
In src/frame.c, the notion of an @dfn{invisible frame} is implemented.
On a GUI, when a frame is in this invisible state, it appears to be
completely inaccessible to the user - it doesn't appear anywhere on the
GUI, there appear to be no commands to access it, and so on. Only a
Lisp form can do anything with it, like making it visible again.
What is this facility used for? There're uses in dframe.el, and there's
something in cl-extra.el saying it's "support for setf". There aren't
really any uses in the C files - just one call in minibuf.c when
something else has set up an option for it.
So what is this thing for?
The reason I ask is that making frames invisible (or even iconified)
affects any minibuffers on those frames. The current handling, which is
old, moves the minibuffers onto another frame. This conflicts with the
meaning of the (newish) variable minibuffer-follows-selected-frame when
its value isn't t. In particular, when m-f-s-f is nil, minibuffers are
defined to stay on the frame they were first created on.
So, to determine how these MBs should be handled, it would be very
useful to understand what invisible frames are used for.
This has relevance for bug #47766.
Thanks in advance!
--
Alan Mackenzie (Nuremberg, Germany).