Comment puis-je garder le serveur emacs fonctionnement lorsque la fenêtre est fermée actuelle (x) sur les fenêtres à l'aide EmacsW32?

StackOverflow https://stackoverflow.com/questions/2001485

  •  18-09-2019
  •  | 
  •  

Question

J'utilise EmacsW32 (patché) sur les fenêtres. Emacs est en cours d'exécution en mode serveur afin que les appels suivants à emacsclientw fichiers ouverts dans la même session du serveur.

je C-C-x c mappée pour faire la trame courante invisible et ne tue pas le processus serveur emacs. Je voudrais en cliquant de la fenêtre X (fermer) aussi simplement cacher le cadre et ne pas mettre fin au processus de serveur comme il le fait actuellement.

Toutes les idées? Merci!

Était-ce utile?

La solution

Bien sûr, j'ai une méthode de le faire. Il peut y avoir raffinements possibles, mais cela est un bon point de départ.

Tout d'abord, je configurer une variable et conseille la fonction kill-emacs

(defvar bnb/really-kill-emacs nil)
(defadvice kill-emacs (around bnb/really-exit activate)
    "Only kill emacs if the variable is true"
    (if bnb/really-kill-emacs
        ad-do-it)
      (bnb/exit))

La fonction ENB / de sortie est tout simplement le cadre invisible comme ce que vous avez lié à C-x C-c .

J'ai alors une fonction supplémentaire correctement emacs de sortie si c'est toujours nécessaire. Cela fixeront les variables et appels kill-emacs comme suit.

(defun bnb/really-kill-emacs ()
    (interactive)
    (setq bnb/really-kill-emacs t)
    (kill-emacs))
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top