Come si controlla costantemente lo stato attivo della finestra dopo l'esecuzione di emacsclient?focus finestra emacsclient
Attualmente, la messa a fuoco dipende dalla presenza di un server emacs in esecuzione. Quando emacsclient richiama un editor alternativo, lo stato attivo viene spostato nella nuova finestra di emacs. Quando emacsclient si connette a un server emacs esistente, l'attenzione non viene spostata (cioè rimane sul mio client putty).
Vorrei concentrarmi costantemente sulla finestra di emacs, dato che di solito vado su emacs dopo aver aperto un file.
Qualsiasi aiuto sarebbe molto apprezzato!
Note
Version Info
emacs: 21.4.1
emacsclient: 21.4
client os: Windows XP Service Pack 3
x server: Exceed 11.0.0.0
sezione del mio 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"
Inoltre, alla fine del mio .emacs ho
(server-start)
mia soluzione attuale è un semplice script AutoHotkey, che si concentra sul mio primo Exceed finestra
^+x::
If WinExist("ahk_class EXCEEDW:MWCLIENT0")
WinActivate
return
Come nota a margine, sembra che il mio reindirizzamento a/dev/null confuso la sintassi-evidenziatore :(
Questo potrebbe non essere d'aiuto, ma la messa a fuoco sembra passare alla finestra di emacs esistente quando si utilizza 23.2.2 e Ubuntu. –
Sospetto che sia complicato dall'uso del tuo X-server su Windows. Hai preso in considerazione l'utilizzo di emacs per Windows? 23.2 è disponibile precompilato: http://ftp.gnu.org/gnu/emacs/windows/ – Chadwick
In realtà ho installato emacsw32. Tuttavia, è terribilmente lento lavorare con le condivisioni CIFS :( – vlee