¿Cómo controlo sistemáticamente el foco de la ventana después de ejecutar emacsclient?emacsclient ventana de enfoque
Actualmente, el enfoque depende de si ya tengo un servidor emacs ejecutándose. Cuando emacsclient invoca un editor alternativo, el foco se desplaza a la nueva ventana de emacs. Cuando emacsclient se conecta a un servidor emacs existente, el foco no se desplaza (es decir, permanece en mi cliente de masilla).
Me gustaría centrarme constantemente en la ventana de emacs, ya que normalmente voy a emacs después de abrir un archivo.
¡Cualquier ayuda sería muy apreciada!
Notas
Información de la versión
emacs: 21.4.1
emacsclient: 21.4
client os: Windows XP Service Pack 3
x server: Exceed 11.0.0.0
Sección pertinente de mi .bash_profile
# a wrapper is needed to sandwich multiple command line arguments in bash
# 2>/dev/null hides
# "emacsclient: can't find socket; have you started the server?"
emacs_wrapper() {
if [ 0 -eq $# ]
then
emacsclient -n -a emacs ~/notes.txt 2>/dev/null &
else
emacsclient -n -a emacs $* &
fi
}
alias x="emacs_wrapper"
Además, al final de mis .emacs tengo
(server-start)
Mi solución actual es un script autohotkey simple, que se centra en la primera ventana de Exceed
^+x::
If WinExist("ahk_class EXCEEDW:MWCLIENT0")
WinActivate
return
Como nota al margen, parece que mi redirección a/dev/null confundir la sintaxis de rotulador :(
Esto puede no ayudarle, pero el enfoque parece cambiar a la ventana existente de emacs cuando se usa 23.2.2 y Ubuntu. –
Sospecho que se está complicando con el uso de su X-server en Windows. ¿Has considerado usar emacs para Windows? 23.2 está disponible precompilado: http://ftp.gnu.org/gnu/emacs/windows/ – Chadwick
De hecho tengo instalado emacsw32. Sin embargo, es un trabajo agonizantemente lento a través de las acciones de CIFS :( – vlee