--- Begin Message ---
Subject: |
29.0.50; Setting frame name in pgtk Emacs is asynchronous |
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
mwe.el
Description: application/emacs-lisp
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#58945: 29.0.50; Setting frame name in pgtk Emacs is asynchronous |
Date: |
Sat, 12 Nov 2022 12:34:15 -0800 |
Po Lu <luangruo@yahoo.com> writes:
> tags 58945 notabug
> thanks
>
> Thibault Polge <thibault@thb.lt> writes:
>
>> 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).
>
> Setting the title on Wayland is asynchronous, just as it is with X. By
> the time the request or PropertyNotify event reaches the compositor or
> window manager, other processes may already have run. In addition,
> running asynchronously improves performance.
>
> I would recommend just waiting a set delay after setting the title.
No further comments within 1 week, so I'm closing this bug report.
--- End Message ---