Emacsで新しいフレームが作成されるたびに実行するコマンドが必要です。これまではafter-make-frame-functions
を使用していましたが、このフックはmake-frame
によって作成されたフレームでのみ呼び出されます。 実際には、emacsclient -c
コマンドで新しいウィンドウが作成されるたびに実行されるものが必要です。新しいフレームのEmacsフック
これを達成する方法はありますか?
Emacsで新しいフレームが作成されるたびに実行するコマンドが必要です。これまではafter-make-frame-functions
を使用していましたが、このフックはmake-frame
によって作成されたフレームでのみ呼び出されます。 実際には、emacsclient -c
コマンドで新しいウィンドウが作成されるたびに実行されるものが必要です。新しいフレームのEmacsフック
これを達成する方法はありますか?
質問を理解するのが難しいです。 Emacsサーバは、新しいフレームを作成する必要があるときにmake-frame
を呼び出します。したがって、after-make-frame-functions
もその場合に動作します。あなたの実際の問題は何ですか?
Emacsサーバがに新しいフレームを作成していなくても、あなたの機能を実行したいのですか?その場合は、server-switch-hook
とafter-make-frame-functions
に関数を追加してみてください。
server-switch-hook
は、server.el
で定義される変数です。ドキュメンテーション:Emacs サーバのバッファに切り替えるときにフックが実行されます。
はい、最初の段落は正しいです。私が 'make-frame 'を実行するときに実行したいコマンドは完全に動作しますが、' emacsclient -c'で新しいフレームが作成されたときには機能しませんでした。だから私は、 'emacsclient -c'を実行したときにフックがサーバによって呼び出されなかったと仮定しました。私は今より多くのテストをしましたが、私のコマンドには何か問題があります。無意味な質問には申し訳ありません。 – Malabarba
問題ありません。 [ラバーダックのデバッグ](http://en.wikipedia.org/wiki/Rubber_duck_debugging) –
すごい!プロキシによるメタラバーダックのデバッグのコンセプトを紹介します。自分自身 - SOと全く同じ問題を抱えている人を見つけ、問題が実際には存在しないことを発見します。私はあなたの両方に借りています。 – leoger