Subject: 29.0.50; Setting frame name in pgtk Emacs is asynchronous

From: Thibault Polge <[email-masked]>
Date: Tue, 01 Nov 2022 15:58:22 +0100

In pgtk Emacs (built from a very recent git HEAD), running under the
Sway window manager, setting a frame name like this:

(set-frame-parameter (selected-frame) 'name "Some new name")
(redisplay t)

Doesn't immediately take effect.

The example program below demonstrates this by triggering a race
condition: it renames all frames, then immediately requests the state of
the Sway window manager, and renames them back. Repeatedly eval'ing the
final sexp randomly returns either the original or the renamed frame
names. (When testing with a few frames, it never returned a mix of
original or renamed names --- it's 100% one or the other)

This is an issue because frame names is the only way to associate Emacs
frames with Sway identifiers (or any wayland wm) on pgtk Emacs).

MWE code follows.

Best regards,
Thibault