The file emacsclient.desktop has the line "NoDisplay=true". Is there any reason to not enabling displaying the Emacsclient application entry in the menu? I would like to be able to select it in a menu, and I do not see any reason for not allowing it. Please, remove the line NoDisplay=true" from emacsclient.desktop.
This is intentional. Calling emacsclient without an argument doesn't make much sense, therefore it's hidden from the menu.
(In reply to Ulrich Müller from comment #1) > This is intentional. Calling emacsclient without an argument doesn't make > much sense, therefore it's hidden from the menu. I do not agree. There are many things that can be done with emacsclient without an argument to the command line. If there is an already running emacs server, why it cannot be used through emacsclient for instance to run a calculator, to read a man page, to read an info page, to interactively open a file, and so on. I should not have to launch emacs again for those activities, as a server is already running and it could be used. In my current setup I have a key binding to launch emacsclient, but it would be nice if it could be also launched from the menu. So in my point of view your argument is invalid.
(In reply to José Romildo Malaquias from comment #2) > I do not agree. There are many things that can be done with emacsclient > without an argument to the command line. $ emacsclient emacsclient: file name or argument required Try `emacsclient --help' for more information $ echo $? 1 > If there is an already running emacs server, why it cannot be used through > emacsclient for instance to run a calculator, to read a man page, to read an > info page, to interactively open a file, and so on. I should not have to > launch emacs again for those activities, as a server is already running and > it could be used. > > In my current setup I have a key binding to launch emacsclient, but it would > be nice if it could be also launched from the menu. And how exactly would this work from the menu? It would call /usr/bin/emacsclient without an argument and it would fail (see above). Or am I missing something?
(In reply to Ulrich Müller from comment #3) [...] > And how exactly would this work from the menu? It would call > /usr/bin/emacsclient without an argument and it would fail (see above). Or > am I missing something? With the "-c" command line option. From the help: -c, --create-frame Create a new frame instead of trying to use the current Emacs frame With the "-c" option emacsclient just opens a new frame from where you can start working with emacs. $ emacsclient -c Waiting for Emacs... It just works.
(In reply to José Romildo Malaquias from comment #4) > With the "-c" command line option. From the help: > > -c, --create-frame Create a new frame instead of trying to > use the current Emacs frame > > With the "-c" option emacsclient just opens a new frame from where you can > start working with emacs. We currently have this in the desktop file: Exec=/usr/bin/emacsclient %F which doesn't create a new frame. Since this behaviour is in place since 7 years, I must assume that most users are happy with it. So I am not going to change it by adding the --create-frame option. One could think about having a second desktop entry for emacsclient with "NoDisplay=false" and "Exec=/usr/bin/emacsclient --create-frame --alternate-editor= %F" but I guess that would cause confusion. If you really need a custom desktop entry then creating one in ~/.local/share/applications/ is easy.