GNU bug report logs -
#57012
Activating versus raising frames
Previous Next
Full log
Message #23 received at 57012 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On August 6, 2022 22:45:26 Po Lu <luangruo <at> yahoo.com> wrote:
> Daniel Colascione <dancol <at> dancol.org> writes:
>
>> The GDK code specifically mentions that programs that handle events
>> themselves (like Emacs) need to explicitly update the event time (as
>> my patch does)
>
> The GDK documentation is unclear. You only have to update the event
> time if the event is not passed to GDK, by setting *finish to
> X_EVENT_DROP, which really only happens with key press events.
>
>> What is the bug?
>
> Client messages sent to x-dnd.el did not automatically update the user
> time, causing various selection-related functions to use an outdated
> timestamp.
>
>> Sorry, but I strongly disagree. The concept of signaling to the
>> underlying window system that the user has interacted in some manner
>> with a frame is generic and not X-specific. In fact --- doesn't the
>> pgtk backend need an implementation of this hook too? It, like the
>> conventional GTK backend, is blind to interactions with the frame
>> performed using emacsclient.
>
> No, the PGTK backend doesn't have a concept of "server time". The GDK
> Wayland backend implements them via event serials, which cannot be
> generated. It is also unnecessary to specify the server time when
> trying to activate a toplevel window.
>
> The only window system I know of that requires that to be specified is
> X, so let's keep the code specific to X.
pgtk also runs on X, and the problem must be solved there in some manner.
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.
[Message part 2 (text/html, inline)]
This bug report was last modified 2 years and 241 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.