unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Rusi <rustompmody@gmail.com>
To: help-gnu-emacs@gnu.org
Subject: Re: resending... desktop files not working for recent ubuntu?
Date: Mon, 13 Jun 2016 18:54:29 -0700 (PDT)	[thread overview]
Message-ID: <f9bc869c-5769-46ec-9e5c-a914419bd756@googlegroups.com> (raw)
In-Reply-To: <mailman.545.1464672115.1216.help-gnu-emacs@gnu.org>

On Tuesday, May 31, 2016 at 10:51:57 AM UTC+5:30, Alexis wrote:
> Rustom Mody writes:
> 
> > Apologies for second copy 1st doesnt seem to have appeared
> >
> > --------------------------------------------- I have this 
> > emacs.desktop file put in ~/.local/share/applications
> >
> > --------------- [Desktop Entry] Name=EmacsClient 
> > GenericName=Text Editor Comment=Edit text 
> > MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
> >
> > Exec=emacsclient -n -a emacs %F Icon=python Type=Application 
> > Terminal=false Categories=Development;TextEditor; 
> > StartupWMClass=Emacs
> >
> > --------------- Currently this laptop is on ubuntu 16.4 (xenial) 
> > -- vanilla unity desktop It used to work ok in earlier ubuntus 
> > Now on 16.4 it shows 2 emacs icons when editing a file via 
> > emacsclient Clicking the second icon shows no effect After about 
> > 10 seconds it disappears
> >
> > Dont know when it stopped working because frankly I am not much 
> > of a nautilus -> click -> emacsclient type of user
> >
> > Current generation -- my students -- however default to this 
> > kind of usage And so they default to one or both of - gedit by 
> > default - dozens of emacses open for each file they clicked
> 
> Shouldn't you specify '' (i.e. the empty string) as the -a 
> argument in the Exec option? From the man page for emacsclient(1):
> 
>     -a, --alternate-editor=EDITOR 
> 
>     if the Emacs server is not running, run the specified editor 
>     instead.  This can also be specified via the 
>     `ALTERNATE_EDITOR' environment variable.  If the value of 
>     EDITOR is the empty string, run `emacs --daemon' to start 
>     Emacs in daemon mode, and try to connect to it.
> 
> 
> Alexis.

Made some small progress with this following suggestions:
http://stackoverflow.com/questions/1167484/how-to-gracefully-shutdown-emacs-daemon

This needs
1. emacs started with --daemon
2. emacs.desktop as earlier described
3. Having this in the init:

(defun shutdown-emacs-server () (interactive)
  (when (not (eq window-system 'x))
    (message "Initializing x windows system.")
    (x-initialize-window-system)
    (when (not x-display-name) (setq x-display-name (getenv "DISPLAY")))
    (select-frame (make-frame-on-display x-display-name '((window-system . x))))
  )
  (let ((last-nonmenu-event nil)(window-system "x"))(save-buffers-kill-emacs)))


4. And having this systemd service in ~/.local/share/systemd/user/

[Unit]
Description=Emacs: the extensible, self-documenting text editor

[Service]
Type=forking
ExecStart=/usr/bin/emacs --daemon
ExecStop=/usr/bin/emacsclient --eval '(shutdown-emacs-server)'
Restart=no

TimeoutStartSec=12

[Install]
WantedBy=default.target

==============================
Basically the idea is that a dialog should be popped up for saving buffers
when the server is terminated even if no frame was active 

This is currently unreliable - ie sometimes it pops up and sometimes not
thereby losing unsaved work

Is there some more official way of using emacs in client-server mode?


      parent reply	other threads:[~2016-06-14  1:54 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-30 15:04 resending... desktop files not working for recent ubuntu? Rustom Mody
2016-05-31  5:21 ` Alexis
2016-06-01 15:49   ` Rustom Mody
     [not found] ` <mailman.545.1464672115.1216.help-gnu-emacs@gnu.org>
2016-06-14  1:54   ` Rusi [this message]

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=f9bc869c-5769-46ec-9e5c-a914419bd756@googlegroups.com \
    --to=rustompmody@gmail.com \
    --cc=help-gnu-emacs@gnu.org \
    /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.
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).