Multiple Displays
=================
A single Emacs can talk to more than one X display. Initially,
Emacs uses just one display--the one chosen with the `DISPLAY'
environment variable or with the `--display' option (Note:Initial
Options.). To connect to another display, use
the command `make-frame-on-display' or specify the `display' frame
parameter when you create the frame.
Emacs treats each X server as a separate terminal, giving each one
its own selected frame and its own minibuffer windows. However, only
one of those frames is "_the_ selected frame" at any given moment, see
Note:Input Focus.
A few Lisp variables are "terminal-local"; that is, they have a
separate binding for each terminal. The binding in effect at any time
is the one for the terminal that the currently selected frame belongs
to. These variables include `default-minibuffer-frame',
`defining-kbd-macro', `last-kbd-macro', and `system-key-alist'. They
are always terminal-local, and can never be buffer-local (Note:Buffer-Local Variables) or frame-local.
A single X server can handle more than one screen. A display name
`HOST:SERVER.SCREEN' has three parts; the last part specifies the
screen number for a given server. When you use two screens belonging
to one server, Emacs knows by the similarity in their names that they
share a single keyboard, and it treats them as a single terminal.
- Command: make-frame-on-display display &optional parameters
This creates a new frame on display DISPLAY, taking the other
frame parameters from PARAMETERS. Aside from the DISPLAY
argument, it is like `make-frame' (Note:Creating Frames).
- Function: x-display-list
This returns a list that indicates which X displays Emacs has a
connection to. The elements of the list are strings, and each one
is a display name.
- Function: x-open-connection display &optional xrm-string must-succeed
This function opens a connection to the X display DISPLAY. It
does not create a frame on that display, but it permits you to
check that communication can be established with that display.
The optional argument XRM-STRING, if not `nil', is a string of
resource names and values, in the same format used in the
`.Xresources' file. The values you specify override the resource
values recorded in the X server itself; they apply to all Emacs
frames created on this display. Here's an example of what this
string might look like:
"*BorderWidth: 3\n*InternalBorder: 2\n"
Note:Resources.
If MUST-SUCCEED is non-`nil', failure to open the connection
terminates Emacs. Otherwise, it is an ordinary Lisp error.
- Function: x-close-connection display
This function closes the connection to display DISPLAY. Before
you can do this, you must first delete all the frames that were
open on that display (Note:Deleting Frames).