unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Vladimir Lomov <lomov.vl@yandex.ru>
To: "Basil L. Contovounesios" <contovob@tcd.ie>
Cc: 41719@debbugs.gnu.org
Subject: bug#41719: 28.0.50; [FR] emacsclient should provide '--name' option as emacs
Date: Sat, 6 Jun 2020 00:53:38 +0800	[thread overview]
Message-ID: <20200605165338.GB846@smoon.bkoty.ru> (raw)
In-Reply-To: <87sgf9hiik.fsf@tcd.ie>

[-- Attachment #1: Type: text/plain, Size: 3591 bytes --]

Hello,
** Basil L. Contovounesios <contovob@tcd.ie> [2020-06-05 12:14:11 +0100]:

> Vladimir Lomov <lomov.vl@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@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@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@smoon.bkoty.ru"
_NET_WM_ICON_NAME(UTF8_STRING) = "emacs@smoon.bkoty.ru"
WM_NAME(STRING) = "emacs@smoon.bkoty.ru"
_NET_WM_NAME(UTF8_STRING) = "emacs@smoon.bkoty.ru"

While running Emacs by

$ emacs --name default --title USER@HOST

one gets

WM_CLASS(STRING) = "default", "Emacs"
WM_ICON_NAME(STRING) = "default"
_NET_WM_ICON_NAME(UTF8_STRING) = "USER@HOST"
WM_NAME(STRING) = "USER@HOST"
_NET_WM_NAME(UTF8_STRING) = "USER@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.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

  reply	other threads:[~2020-06-05 16:53 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-05  3:09 bug#41719: 28.0.50; [FR] emacsclient should provide '--name' option as emacs Vladimir Lomov
2020-06-05 11:14 ` Basil L. Contovounesios
2020-06-05 16:53   ` Vladimir Lomov [this message]
2020-06-06 12:36 ` Dmitry Alexandrov
2020-06-06 14:52   ` Vladimir Lomov
2020-06-06 17:08     ` Dmitry Alexandrov
2020-06-06 18:24       ` Dmitry Alexandrov
2020-06-07 14:26         ` bug#41719: 28.0.50; emacsclient -c -F '((name . "NAME"))' is not respected --with-x-toolkit=gtk328.0.50 (Was: [FR] emacsclient should provide '--name' option as emacs) Vladimir Lomov
2020-06-07 16:15           ` bug#41719: 28.0.50; emacsclient -c -F '((name . "NAME"))' is not respected --with-x-toolkit=gtk3 Dmitry Alexandrov
2020-06-09  7:12             ` Vladimir Lomov
2022-02-10  7:17         ` Lars Ingebrigtsen
2022-03-12 22:45           ` Lars Ingebrigtsen
2022-06-11 13:00 ` bug#41719: 28.0.50; emacsclient -c -F '((name . "NAME"))' is Colin Horne
2022-06-11 13:46   ` Colin Horne
2022-06-12  5:10 ` bug#41719: 28.0.50; [FR] emacsclient should provide '--name' option as emacs Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-12  6:32   ` Eli Zaretskii
2022-06-12  6:40     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-12  7:03       ` Eli Zaretskii
2022-06-12  7:06         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-12  7:26           ` Eli Zaretskii
2022-06-12  7:52         ` Visuwesh
2022-06-12  8:00           ` Eli Zaretskii
2022-06-12  8:47             ` Visuwesh
2022-06-12  8:02           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-12  8:20             ` Andreas Schwab
2022-06-12  8:49             ` Visuwesh
2022-06-12  8:27           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-12  8:54             ` Visuwesh
2022-06-12  9:11               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-14  3:04         ` Vladimir Lomov
2022-06-14  4:13           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-14  6:00             ` Vladimir Lomov
2022-06-14  6:19               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-14 11:23           ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200605165338.GB846@smoon.bkoty.ru \
    --to=lomov.vl@yandex.ru \
    --cc=41719@debbugs.gnu.org \
    --cc=contovob@tcd.ie \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).