GNU bug report logs -
#41719
28.0.50; emacsclient -c -F '((name . "NAME"))' is not respected --with-x-toolkit=gtk3
Previous Next
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
[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.