Subject: Re: bug#41719: 28.0.50; [FR] emacsclient should provide '--name' option as emacs

From: Po Lu <[email-masked]>
Date: Sun, 12 Jun 2022 16:02:19 +0800

Visuwesh <[email-masked]> writes:

> WM_CLASS and WM_NAME are commonly matched against in "window manager
> rules."  For example, I have a script that essentially calls
> `make-frame' with a specific frame `name' [*] which I then match against
> in my window manager configuration to move the frame to the top right
> corner of my screen.
>
> [*] I see that Emacs sets WM_CLASS and WM_NAME to the `name' frame
> parameter.
>
>         % xprop |grep wm_'\(class\|name\)'
>         _NET_WM_NAME(UTF8_STRING) = "vz/calendar-frame"
>         WM_CLASS(STRING) = "vz_calendar-frame", "Emacs"
>         WM_NAME(STRING) = "vz/calendar-frame"

Class hints are only set by Emacs under X toolkit and no toolkit builds.
On GTK builds, it's set by GTK to a value set during GTK initialization.

BTW, the `name' frame parameter is rather special, since it's set by
`x-create-frame' binding special values to `x-resource-name' and
`x-resource-class' during frame creation.  So for the record, changing
the `name' parameter of a frame after it is created will not change the
values of the WM_CLASS and WM_NAME properties.