▶ , ◀ Windows, ▲ Top

29 Frames

A frame is a screen object that contains one or more Emacs windows (see Windows). It is the kind of object called a “window” in the terminology of graphical environments; but we can't call it a “window” here, because Emacs uses that word in a different way. In Emacs Lisp, a frame object is a Lisp object that represents a frame on the screen. See Frame Type.

A frame initially contains a single main window and/or a minibuffer window; you can subdivide the main window vertically or horizontally into smaller windows. See Splitting Windows.

A terminal is a display device capable of displaying one or more Emacs frames. In Emacs Lisp, a terminal object is a Lisp object that represents a terminal. See Terminal Type.

There are two classes of terminals: text-only terminals and graphical terminals. Text-only terminals are non-graphics-capable display devices, including “terminal emulators” such as xterm. On text-only terminals, each frame occupies the entire terminal screen; although you can create additional frames and switch between them, only one frame can be shown at any given time. We refer to frames on text-only terminals as terminal frames. Graphical terminals, on the other hand, are graphics-capable windowing systems, such as the X Window System. On a graphical terminal, Emacs can display multiple frames simultaneously. We refer to such frames as window frames.

On GNU and Unix systems, you can create additional frames on any available terminal, within a single Emacs session, regardless of whether Emacs was started on a text-only or graphical terminal. Emacs can display on both graphical and text-only terminals simultaneously. This comes in handy, for instance, when you connect to the same session from several remote locations. See Multiple Terminals.

— Function: framep object

This predicate returns a non-nil value if object is a frame, and nil otherwise. For a frame, the value indicates which kind of display the frame uses:

x
The frame is displayed in an X window.
t
A terminal frame on a character display.
w32
The frame is displayed on MS-Windows 9X/NT.
ns
The frame is displayed on a GNUstep or Macintosh Cocoa display.
pc
The frame is displayed on an MS-DOS terminal.

— Function: frame-terminal &optional frame

This function returns the terminal object that displays frame. If frame is nil or unspecified, it defaults to the selected frame.

— Function: terminal-live-p object

This predicate returns a non-nil value if object is a terminal that is alive (i.e. was not deleted), and nil otherwise. For live terminals, the return value indicates what kind of frames are displayed on that terminal; the list of possible values is the same as for framep above.

blog comments powered by Disqus