Come faccio a eseguire un comando solo dopo il emacs telaio è stato reso?
Domanda
Sto cercando di capire come usare Emacs Codice del Browser (BCE) e una delle cose che si possono fare con esso è impostato bce-windows-larghezza di decidere di quanto la bce di windows sono.Il problema è che questa sequenza:
- Telaio pop-up sullo schermo.
- bce-attivare viene chiamato, in scala secondo la bce-windows-larghezza.
- default-telaio-unelenco parametri di calcio, telaio viene ridimensionata.
Il problema è che a causa di questo ordine, la larghezza della finestra bce è impostato prima il telaio viene ridimensionata, e poi non vengano scalati.
Vorrei eseguire bce-ridisegnare il layout (o idealmente appena bce-attiva), ma deve accadere dopo la #3.In caso contrario, una sorta di bce-dinamica-larghezza scala opzione sarebbe anche lavorare.
Per quel che vale, la bce-attivazione automatica non funziona, quindi non posso sapere se quella sarebbe la soluzione.
Soluzione
Sembra che ho trovato una soluzione.
- Imposta ECB-fix-window-size su true.
- Quando i carichi telaio, BCE-activate è chiamato e le finestre BCE sono scalati proporzionalmente alla dimensione del frame.
- Poi default-telaio-alist calci e telaio viene ridimensionata, ma le finestre della BCE hanno una dimensione fissa e non ottenere in scala.
Molto hacker perché si sta impostando la larghezza a seconda della dimensione del frame di default che si apre prima, non la dimensione che effettivamente utilizzate. Ma vabbè.
Altri suggerimenti
Sono familiarità con la BCE, ma after-make-frame-functions
potrebbe essere utile per l'esecuzione di funzioni che si desidera (o l'esecuzione di alcuni gancio funzione di cui si vuole fare qualcosa di speciale con la bce frame).
after-make-frame-functions
è un elenco delle funzioni che prendono uno argomento (appena creato telaio), e viene eseguito dopo che il telaio è creata.Questo non vale per l'iniziale emacs telaio (all'avvio) perché il tuo .emacs è leggere dopo il telaio è già creato.