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
Message #11 received at 41719 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hello,
** Basil L. Contovounesios <contovob <at> tcd.ie> [2020-06-05 12:14:11 +0100]:
> Vladimir Lomov <lomov.vl <at> yandex.ru> writes:
>> The 'emacs' allows to set the so-called 'instance' when run in X window
>> system using '--name' option. The same time the 'emacsclient' doesn't
>> have such option and if 'emacs' is run in daemon mode ('emacs
>> --daemon=...') it is impossible (?) to change the 'instance' of emacs
>> window (frame in Emacs terminology) created by 'emacsclient'.
>>
>> I tried to use '-F' option of 'emacsclient' but I didn't get desire
>> result, WM_CLASS isn't changed, only WM_ICON_NAME. It is possible that I
>> do things wrong,
>>
>> $ emacsclient -s /run/user/1000/emacs-default -F '((name . "default") (title . "USER <at> HOST"))'
>>
>> but this topic is covered by manual (Emacs, 21.11 "Frame Parameters" and
>> Emacs Lisp 29.4.3 "Window Frame Parameters") very unclear.
>>
>> 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. On the other hand, if Emacs is run in daemon
>> mode it is the purpose of emacsclient to (allow to) set the 'instance'
>> and 'title' of created window.
> Sorry if I misunderstood,
Yes, seems so.
> but are you looking for emacsclient's --socket-name=NAME argument?
From emacsclient(1)
-s, --socket-name=FILENAME
use socket named FILENAME for communication. This can also be
specified via the EMACS_SOCKET_NAME environment variable.
> This can be the same NAME passed as the --daemon=NAME argument to emacs.
From emacs(1)
--daemon[=name], --bg-daemon[=name]
Start Emacs as a daemon, enabling the Emacs server and disconnecting
from the terminal. You can then use the emacsclient (see
emacsclient(1)) command to connect to the server (with optional name).
So if I use
>> $ emacsclient -s /run/user/1000/emacs-default -F '((name . "default") (title . "USER <at> HOST"))'
then I use socket it means I use '--daemon' for emacs. Indeed I use socket
activation provided by systemd.
From emacs(1)
--name=name
Specify the name which should be assigned to the initial Emacs window.
This controls looking up X resources as well as the window title.
-T name, --title=name
Specify the title for the initial X window.
When Emacs is run by just running 'emacs' and querying X properties
$ xprop | grep 'WM_CLASS\|WM_NAME\|WM_ICON_NAME'
one gets
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"
While running Emacs by
$ emacs --name default --title USER <at> HOST
one gets
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"
In other words, emacs has option to set instance name (first string of
WM_CLASS value) and set window title. On the other hand emacsclient doesn't
have such option so it is (seem) impossible to set 'instance'. I wonder why it
doesn't have such options.
I read Emacs and Emacs Lisp manuals about frame parameters but don't get if it
is possible to set instance (and possibly name) using frame parameters. I
tried to use -F option but don't get desired result.
---
Vladimir Lomov
--
Natural laws have no pity.
[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.