posframe use this feature, for recreate a new frame is very very slowly, while hide and show very fast :-) -- 发自我的网易邮箱手机智能版


----- Original Message ----- From: "Alan Mackenzie" 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).