Subject: bug#9729: 24.0.50; can't editing buffers while in another buffer i'm openning files

From: Eli Zaretskii <[email-masked]>
Date: Sun, 18 Jul 2021 15:37:40 +0300

> From: Lars Ingebrigtsen <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Sun, 18 Jul 2021 14:02:51 +0200
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > AFAIR, the prompt follows to another GUI frame because that frame gets
> > the focus-in event.  If I'm right, then it should also work with
> > emacsclient frames on terminals that support focus-in events.
> 
> Let's see...  I create a daemon and two "-nw" emacsclients, and then:
> 
> (setq focus-in-hook '((lambda () (message "focus %s" (selected-frame)))))
> 
> Clicking in the two clients does not display the message, so I guess
> that these terminals do not support focus-in events?  (This is
> Debian/bullseye under Gnome Shell, with "Terminal" as the terminal,
> which should be a very common environment.)

xterm does.  I don't know about Terminal.

> > Failing that, how to tell Emacs to switch to another frame, and would
> > the way to do that easier than just typing C-g and switching to the
> > client frame "by hand"?
> 
> I don't know the former, but perhaps the main problem with doing it
> manually today is that you first have to find the emacsclient that has
> the minibuffer active to hit `C-g' in it.  Hitting `C-g' in any other
> terminal does nothing.
> 
> Perhaps that is something that could be fixed?  That is, in an
> emacsclient context, `C-g' should interrupt the minibuffer action, no
> matter what frame it's happening in?

How can this work if we don't read input from the frame where you type
C-g?

But I don't consider myself an expert on this stuff, so maybe there is
a way.