emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: master 4b98a79a50: Improve X event timestamp tracking


From: Po Lu
Subject: Re: master 4b98a79a50: Improve X event timestamp tracking
Date: Sun, 07 Aug 2022 14:15:04 +0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux)

Daniel Colascione <dancol@dancol.org> writes:

> And I'd rather not explicitly bypass window manager policy. Let's not
> get into an arms race.

We already do that all the time.  Just a few examples:
x-mouse-click-focus-ignore-position, x-wait-for-event-timeout,
x-frame-normalize-before-maximize, x-set-frame-visibility-more-laxly,
x-input-grab-touch-events.  Martin can probably name more.

> By the way: if we're keen on making things work as documented,
> shouldn't we add a bunch of workarounds for x-raise-frame, which
> basically does nothing right now?

raise-frame is supposed to raise the frame without changing the input
focus, but if it doesn't work it should be fixed.

> Don't we still have the problem of XSetInputFocus succeeding while
> the EWMH activation fails, leaving the whole window stack in a state
> confusing for both the human and WM components of the system?

XSetInputFocus is no longer called when EWMH activation is being used.
Calling it previously was a bug, it shouldn't be used with EWMH
activation.

> Even if the window disappears while we're waiting?

How can the frame be deleted while we're waiting?  I've never ever seen
such an unruly X program.

> It's hard to imagine any user sitting down and tweaking this
> variable. This seems like one of those preferences added not to
> account for differences in taste, but to punt a hard technical choice
> to users not prepared to make it.

I also wrote something in etc/PROBLEMS.  Users are expected to read that
when they experience problems, and to try the different options in order
until it starts working.

> Again, I disagree philosophically with the thrust of this patch.
> Focus stealing prevention isn't some nuisance to work around. If
> Emacs properly manages user-interaction timestamps, there's no need
> to work around it. We don't need to pretend we're a panel or
> something if we just give the window manager the information it needs
> to make the right decision.

If you (or a user) don't like it, the variable can be set to nil.
But it would be best for our functions to behave according to their
documentation first.

Please tell me if it works or not.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]