Subject: bug#57012: Activating versus raising frames

From: Po Lu <[email-masked]>
Date: Sun, 07 Aug 2022 11:02:48 +0800

Daniel Colascione <[email-masked]> writes:

> pgtk also runs on X, and the problem must be solved there in some
> manner.

It does not.  We do not support running the PGTK build on X (the
selection code doesn't work on X, for example), and there is no way to
"touch" the user time on that platform without relying on X11-specific
code.  At present, it's not even possible to include gdk/gdkx.h there
due to typedef conflicts with dispextern.h.

> GTK has no magic facility for knowing that emacsclient
> ran. Regardless, a terminal hook is not expensive, and I don't want to
> add yet more window system typecases to the code. Terminal access
> should be polymorphic. It's through terminal hooks that we make them
> polymorphic. I'm not removing the terminal hook.

After thinking a bit, I figure that a better way to solve the problem
would be to document that window managers don't always respect
x-focus-frame, and to add a force parameter which makes it query for the
current server time and set it as the user time, thus making focus
setting more reliable.

Thanks.