GNU bug report logs - #41719
28.0.50; emacsclient -c -F '((name . "NAME"))' is not respected --with-x-toolkit=gtk3

Previous Next

Package: emacs;

Reported by: Vladimir Lomov <lomov.vl <at> yandex.ru>

Date: Fri, 5 Jun 2020 03:11:02 UTC

Severity: wishlist

Tags: moreinfo

Found in version 28.0.50

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Vladimir Lomov <lomov.vl <at> yandex.ru>
To: Dmitry Alexandrov <dag <at> gnui.org>
Cc: 41719 <at> debbugs.gnu.org
Subject: bug#41719: 28.0.50; [FR] emacsclient should provide '--name' option as emacs
Date: Sat, 6 Jun 2020 22:52:21 +0800
[Message part 1 (text/plain, inline)]
Hello,
** Dmitry Alexandrov <dag <at> gnui.org> [2020-06-06 15:36:06 +0300]:

> Vladimir Lomov <lomov.vl <at> yandex.ru> wrote:

>> I tried to use '-F' option of 'emacsclient' but I didn't get desire result,
>> WM_CLASS isn't changed, only WM_ICON_NAME.

> Works for me (Emacs 28, no toolkit).

Do you able to change WM_CLASS?

>> It is possible that I do things wrong,
>>
>>   $ emacsclient -s /run/user/1000/emacs-default -F '((name . "default") (title . "USER <at> HOST"))'

> FWIW, this command does not necessary create a _new_ frame.  Use ‘-c’,
> ‘--create-frame’ to force it.

My fault, I didn't added it in example but of course use it (without it
emacsclient doesn't create window).

Let me give more details what I did and what I get.

1. Run Emacs without parameters

$ emacs

$ xprop | grep 'WM_CLASS\|WM_NAME\|WM_ICON_NAME'

WM_CLASS(STRING) = "emacs", "Emacs"
WM_ICON_NAME(STRING) = "emacs <at> smoon.bkoty.ru"
_NET_WM_ICON_NAME(UTF8_STRING) = "emacs <at> smoon.bkoty.ru"
WM_NAME(STRING) = "emacs <at> smoon.bkoty.ru"
_NET_WM_NAME(UTF8_STRING) = "emacs <at> smoon.bkoty.ru"

2. Run Emacs with parameters

$ emacs --name default --title USER <at> HOST

$ xprop | grep 'WM_CLASS\|WM_NAME\|WM_ICON_NAME'

WM_CLASS(STRING) = "default", "Emacs"
WM_ICON_NAME(STRING) = "default"
_NET_WM_ICON_NAME(UTF8_STRING) = "USER <at> HOST"
WM_NAME(STRING) = "USER <at> HOST"
_NET_WM_NAME(UTF8_STRING) = "USER <at> HOST"

3. Run emacsclient (the socket is created by systemd, emacs started by
service)

$ emacsclient -s /run/user/1000/emacs-default -c

$ xprop | grep 'WM_CLASS\|WM_NAME\|WM_ICON_NAME'

WM_CLASS(STRING) = "emacs", "Emacs"
WM_ICON_NAME(STRING) = "*scratch*"
_NET_WM_ICON_NAME(UTF8_STRING) = "*scratch*"
WM_NAME(STRING) = "*scratch*"
_NET_WM_NAME(UTF8_STRING) = "*scratch*"

But this time I already have openned Emacs windown. If I close it (C-x 5 0)
and run emacsclient again I get

WM_CLASS(STRING) = "emacs", "Emacs"
WM_ICON_NAME(STRING) = "emacs <at> smoon.bkoty.ru"
_NET_WM_ICON_NAME(UTF8_STRING) = "emacs <at> smoon.bkoty.ru"
WM_NAME(STRING) = "emacs <at> smoon.bkoty.ru"
_NET_WM_NAME(UTF8_STRING) = "emacs <at> smoon.bkoty.ru"

4. Run emacsclient with -F

$ emacsclient -s /run/user/1000/emacs-default -c -F '((name . "default") (title . "USER <at> HOST"))

$ xprop | grep 'WM_CLASS\|WM_NAME\|WM_ICON_NAME'

WM_CLASS(STRING) = "emacs", "Emacs"
WM_ICON_NAME(STRING) = "default"
_NET_WM_ICON_NAME(UTF8_STRING) = "USER <at> HOST"
WM_NAME(STRING) = "USER <at> HOST"
_NET_WM_NAME(UTF8_STRING) = "USER <at> HOST"

This time I don't have openned Emacs window. If I run the same command when
Emacs already has window (created by emacsclient) then I get

WM_CLASS(STRING) = "emacs", "Emacs"
WM_ICON_NAME(STRING) = "default"
_NET_WM_ICON_NAME(UTF8_STRING) = "USER <at> HOST"
WM_NAME(STRING) = "USER <at> HOST"
_NET_WM_NAME(UTF8_STRING) = "USER <at> HOST"

As one may see only emacs allows to set 'instance' (WM_CLASS, first string)
with --name option.

>> Even if it is possible to change the 'instance' of Emacs window created by
>> 'emacsclient' using the '-F' option it would be nice to have more simple
>> way to achieve this.

> It would be nice to give some examples, how it can be useful.

---
WBR, Vladimir Lomov

-- 
If you marry a man who cheats on his wife, you'll be married to a man who
cheats on his wife.
		-- Ann Landers
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 3 years and 59 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.