Nextstepアプリケーションは、Xでは同等なものがない、特別なイベントを受け取ります。これらは、対応するキーストロークのシーケンスとしてではなく、特別に定義されたキーイベントとして送られます。Emacsでは、これらのキーイベントを、通常のキーストロークのように、関数にバインドできます。以下はこのようなイベントのリストです。
このイベントは、他のNextstepアプリケーションがEmacsにファイルを開くよう要求したときに発生します。これの典型的な理由としては、ユーザーがFinderアプリケーションでファイルをダブルクリックしたときなどです。デフォルトでは、Emacsはこのイベントにたいして、新しいフレームを開いて、そのフレームでファイルをvisitして応答します(ns-find-file
)。例外として、選択されたバッファーが*scratch*バッファーの場合、Emacsは選択されたフレームでファイルをvisitします。
Emacsがns-open-file
イベントにたいしてどのように応答するかは、ns-pop-up-frames
を変更することにより、変えることができます。デフォルト値は‘fresh’で、これは上で説明したとおりの動作を行ないます。値t
は、ファイルを常に新しいフレームでvisitすることを意味します。値nil
は、ファイルを常に選択されたフレームでvisitすることを意味します。
このイベントは、他のアプリケーションがEmacsに一時ファイルを開くように要求したとき発生します。デフォルトでは、単にns-open-file
イベントを生成することにより処理され、結果は上で説明したとおりになります。
ProjectBuilderやgdbのようないくつかのアプリケーションは、特定のファイルだけではなく、そのファイルの特定の行、または一連の行を要求します。Emacsはそのファイルをvisitして要求された行をハイライトすることにより、これを処理します(ns-open-file-select-line
)。
このイベントは、ユーザーがEmacsを実行中にログアウトしたとき、またはアプリケーションメニューから“Quit Emacs”を選択したとき発生します。デフォルトの動作は、ファイルをvisitしているすべてのバッファーを保存します。
このイベントはユーザーがアプリケーションのメニューから“Preferences”を選択したとき発生します。デフォルトではコマンドcustomize
にバインドされています。
Emacsはユーザーに、‘ns-service-’で始まりサービス名で終わるコマンドを通じて、Nextstepサービスを使用することも可能にします。M-x
ns-service-TABとタイプして、これらのコマンドをリストを見ることができます。これらの関数は、マークされたテキストを処理(結果でそれを置き換える)したり、文字列を引数として結果を文字列で返します。Lisp関数ns-perform-service
を使用して、任意の文字列を任意のサービスに渡して、結果を受けとることもできます。新たに利用可能になったサービスにアクセスするには、Emacsの再起動が必要なことに注意してください。