From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Stop frames stealing eachothers' minibuffers! Date: Fri, 19 Mar 2021 17:59:45 +0200 Message-ID: <838s6jdthq.fsf@gnu.org> References: <83czvxd079.fsf@gnu.org> <83blbhcz41.fsf@gnu.org> <83sg4sbs6w.fsf@gnu.org> <694e12db-a19c-31f8-077c-62d32b640eb9@gmx.at> <83o8fgfgjn.fsf@gnu.org> <83mtuze31r.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="7587"; mail-complaints-to="usenet@ciao.gmane.io" Cc: rudalics@gmx.at, monnier@iro.umontreal.ca, jakanakaevangeli@chiru.no, emacs-devel@gnu.org To: Alan Mackenzie Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Mar 19 17:03:06 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lNHac-0001sG-7v for ged-emacs-devel@m.gmane-mx.org; Fri, 19 Mar 2021 17:03:06 +0100 Original-Received: from localhost ([::1]:56500 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lNHab-00045D-0e for ged-emacs-devel@m.gmane-mx.org; Fri, 19 Mar 2021 12:03:05 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:43928) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lNHXW-0002WE-Kj for emacs-devel@gnu.org; Fri, 19 Mar 2021 11:59:54 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:36638) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lNHXU-0002nf-UK; Fri, 19 Mar 2021 11:59:52 -0400 Original-Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:2252 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lNHXS-0004zd-ML; Fri, 19 Mar 2021 11:59:52 -0400 In-Reply-To: (message from Alan Mackenzie on Fri, 19 Mar 2021 15:35:13 +0000) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:266602 Archived-At: > Date: Fri, 19 Mar 2021 15:35:13 +0000 > Cc: rudalics@gmx.at, monnier@iro.umontreal.ca, jakanakaevangeli@chiru.no, > emacs-devel@gnu.org > From: Alan Mackenzie > > > > , the new frame comes up _with_ the minibuffer visible. I don't > > > understand how the mini window survived with its contents, and it > > > worries me. > > > Why does it worry you? You've asked Emacs to create a frame, and a > > frame by default has a mini-window. Right? > > I understand it a lot better now. The new mini-window gets the > minibuffers only because I had minibuffer-follows-selected-frame set to > t. With either of the other values, the minibuffers remain on the old > inaccessible frame. This is not good. Can't you move them from those inaccessible frames to this one? > > > Could it be that the last frame isn't actually deleted from the Emacs > > > daemon when clicking on its close button? > > > I think indeed that's what happens, because otherwise clicking there > > would have shut down Emacs -- which it doesn't in the daemon case. > > Yes, this is the case. I would dearly like to find a way of determining > if this last frame is still visible, or iconified, or whatever, as > opposed to inaccessible. I think this is the initial frame that exists in every Emacs session when it starts, except that in the daemon we don't delete it. It's a non-GUI frame which exists just to keep code that expects some frame to exist happy. > The old frame in the above recipe was a -nw frame, effectively a > TTY, and `frame-visible-p' returns t for it, even though it is not > even displayable (it's containing shell has gone). We don't have a means of knowing whether a TTY frame is displayed, it conceptually always is. > Hmm. There is effectively nothing about the effect of Emacs as a daemon > in Elisp. There's nothing special about that, just some implementation details.