[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

29.2 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 (see section `Initial Options' in The GNU Emacs Manual). 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 29.9 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 (see section 11.10 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 (see section 29.1 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"

See section 29.21 X 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 (see section 29.5 Deleting Frames).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated on May 2, 2002 using texi2html