Tengo mi Emacs ejecutándose en una etiqueta worker
con server-start
lanzado. Tengo un administrador de archivos abierto en otro lugar (otro monitor, por ejemplo) y cuando abro un archivo de texto con emacsclient
éxito se abre en emacs pero no cambia a él y no lo levanta.
Lo que estoy buscando es una señal específica del cliente en el rc.lua
. Algo como:
client.add_signal("focus", function(c) c:raise() end)
Quiero que sea solo específico de Emacs. Y cambie a la worker
etiqueta al mismo tiempo. Alternativamente, ¿puedo hacerlo desde la devolución de llamada de la regla de Emacs?
¿Algunas ideas? :)
emacs
awesome-wm
lua
platforma
fuente
fuente
Respuestas:
Quería lo mismo, y su idea de una devolución de llamada de emacs es lo que finalmente funcionó. No lo he probado en asombroso, pero estoy usando dwm, y supongo que son lo suficientemente similares para que esto funcione.
Esta es la función de devolución de llamada en emacs:
Hay varias formas de invocar la devolución de llamada. Por simplicidad y flexibilidad, he optado por un alias de shell que invoca la devolución de llamada y luego el cliente electrónico regular:
Espero que siga siendo útil;)
Para obtener más información sobre el tipo de mensaje y los valores, consulte Sugerencias para el Administrador de ventanas .
En cuanto al manejo impresionante de este mensaje, parece que este evento se maneja. El código fuente está aquí .
fuente