GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/emacs/Mac-_002f-GNUstep-Events.html ・ emacs-doc.conao3.com

F.3 macOS / GNUstep におけるウィンドウシステムイベント

Nextstepアプリケーションでは、Xに相当するものがない特殊なイベントが数多く発生します。これらは特別に定義されたキーイベントとして送信され、いかなるキーストロークのシーケンスにも対応しません。Emacsでは、これらのキーイベントを通常のキーストロークと同様に関数にバインドできます。以下に、これらのイベントの一覧を示します。

ns-open-file

このイベントは、別のNextstepアプリケーションがEmacsにファイルを開くよう要求した際に発生します。典型的な例としては、ユーザーがFinderアプリケーションでファイルをダブルクリックした場合などが挙げられます。デフォルトでは、Emacsはこのイベントに応答して新しいフレームを開き、そのフレームでファイルを表示します (ns-find-file)。例外として、選択中のバッファが*scratch*バッファである場合、Emacsは選択中のフレームでファイルを表示します。

変数 ns-pop-up-frames を変更することで、ns-open-file イベントに対する Emacs の動作を変更できます。デフォルト値の ‘fresh’ は、先ほど説明した動作です。t を指定すると、常に新しいフレームでファイルを開くようになります。nil を指定すると、常に選択中のフレームでファイルを開くようになります。

ns-open-temp-file

このイベントは、別のアプリケーションがEmacsに一時ファイルを開くよう要求した際に発生します。デフォルトでは、単にns-open-fileイベントを生成することで処理され、その結果は上述の通りです。

ns-open-file-line

ProjectBuilderやgdbなどの一部のアプリケーションでは、特定のファイルだけでなく、そのファイル内の特定の行や一連の行も指定します。Emacsは、そのファイルを訪問し、指定された行をハイライトすることでこれに対応します (ns-open-file-select-line)。

ns-power-off

このイベントは、ユーザーがログアウトしてもEmacsが起動したままの場合や、アプリケーションメニューから「Quit Emacs」が選択された場合に発生します。デフォルトの動作は、すべてのファイル閲覧バッファを保存することです。

ns-show-prefs

このイベントは、ユーザーがアプリケーションメニューから「環境設定」を選択したときに発生します。デフォルトでは、コマンド customize に紐付けられています。

Emacsでは、‘ns-service-’で始まりサービス名で終わる一連のコマンドを通じて、Nextstepサービスを利用することも可能です。M-x ns-service- TABと入力すると、これらのコマンドの一覧が表示されます。これらの関数は、マークされたテキストを操作する(結果で置き換える)か、あるいは文字列引数を受け取り、その結果を文字列として返します。また、Lisp関数ns-perform-serviceを使用して、任意の文字列を任意のサービスに渡し、結果を受け取ることもできます。なお、新たに利用可能になったサービスにアクセスするには、Emacsを再起動する必要がある場合があることに注意してください。