次: , 前: Creating Frames, 上: Frames


28.2 複数ディスプレイ

1つのEmacsは複数のXディスプレイと通信できます。 Emacsは始めは1つのディスプレイ、つまり、 環境変数DISPLAYかオプション`--display' (see 初期化オプション)で決まる ものを使います。 別のディスプレイに接続するには、 コマンドmake-frame-on-displayを使うか、 フレームを作るときにフレームパラメータdisplayを指定します。

Emacsは各Xサーバーを別々の端末として扱い、 それらのおのおのには選択されているフレームと ミニバッファ用ウィンドウがあります。

少数のLisp変数は端末にローカル(terminal-local)です。 つまり、各端末ごとに別々の束縛があります。 ある時点で有効な束縛は、選択されているフレームが属する端末のものです。 このような変数には、default-minibuffer-framedefining-kbd-macrolast-kbd-macrosystem-key-alistがあります。 これらはつねに端末にローカルであり、 バッファローカル(see Buffer-Local Variables)や フレームローカルにはけっしてなりません。

1つのXサーバーは複数のスクリーンを扱えます。 ディスプレイ名`host:server.screen'には3つの部分があり、 最後の部分で指定したサーバーのスクリーン番号を指定します。 1つのサーバーに属する2つのスクリーンを使うと、 Emacsはそれらの名前の類似性からそれらが1つのキーボードを共有していると判断し、 それらのスクリーンを1つの端末として扱います。

— コマンド: make-frame-on-display display &optional parameters

新たなフレームをディスプレイdisplay上に作成する。 他のフレームパラメータはparametersから得る。 引数displayを除けばmake-frame(see Creating Frames)と 同様である。

— 機能: x-display-list

Emacsが接続しているXディスプレイを表すリストを返す。 リストの要素は文字列であり、それぞれはディスプレイ名である。

— 機能: x-open-connection display &optional xrm-string

この関数はXディスプレイdisplayとの接続を開く。 当該ディスプレイ上にフレームは作らないが、 これにより当該ディスプレイと通信可能かどうか検査できる。

省略可能な引数xrm-stringnilでなければ、 ファイル.Xresourcesで使われ書式と同じ リソース名と値を表す文字列である。 これに指定した値は、Xサーバー自体に記録されているリソースの値に優先し、 Emacsが当該ディスプレイ上に作成するすべてのフレームに適用される。 この文字列の例を以下に示す。

          "*BorderWidth: 3\n*InternalBorder: 2\n"
     

see Resources

— 機能: x-close-connection display

この関数はディスプレイdisplayとの接続を閉じる。 これを行うまえに、 まず当該ディスプレイ上に作ったフレームをすべて削除しておくこと。