Si crea un iniciador de emacsclient copiando un archivo .desktop (por ejemplo, el de Emacs), no se comporta de la manera estándar del iniciador de Unity. Siempre lanza una nueva ventana; no reconoce que existen ventanas Emacsclient existentes para saltar a ellas. ¿Cómo puedo hacer que se comporte?
Como fondo, este es un modo de uso muy útil para Emacs, donde lo ejecuta como un daemon: emacs --daemon
y luego invoca una ventana de emacs con emacsclient
. Una buena manera de hacer esto para los usuarios habituales de emacs es poner emacs --daemon
en sus aplicaciones de inicio.
emacsclient.desktop
por alguna razón. Eventualmente solucioné esto creando el lanzador enalacarte
(la GUI "Menú principal").La solución de james.ferguson funciona bien. Lo que quería era vincular emacsclient a algunos tipos de archivos como la "aplicación preferida". Para esto, encontré el script de James con una nueva línea "Exec"
funciona mejor para mí: ejecuta un nuevo emacs si no se está ejecutando ninguno, no abre una nueva ventana y no hace que emacs se queje de que los clientes todavía esperan que sucedan cosas.
Ahora puedo hacer clic en los archivos y se abren en un emacs en ejecución, si existe, de lo contrario se inicia emacs.
fuente
Otra forma es usar un script :
Entonces siempre invocas el mismo comando.
fuente