elisp: Frames
28 Frames
*********
A “frame” is a screen object that contains one or more Emacs windows
(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.
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. 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. Terminal Type.
There are two classes of terminals: “text terminals” and “graphical
terminals”. Text terminals are non-graphics-capable displays, including
‘xterm’ and other terminal emulators. On a text terminal, each Emacs
frame occupies the terminal’s entire screen; although you can create
additional frames and switch between them, the terminal only shows one
frame at a time. Graphical terminals, on the other hand, are managed by
graphical display systems such as the X Window System, which allow Emacs
to show multiple frames simultaneously on the same display.
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 or graphical terminal. Emacs can display on
both graphical and text terminals simultaneously. This comes in handy,
for instance, when you connect to the same session from several remote
locations. 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:
‘t’
The frame is displayed on a text terminal.
‘x’
The frame is displayed on an X graphical terminal.
‘w32’
The frame is displayed on a MS-Windows graphical terminal.
‘ns’
The frame is displayed on a GNUstep or Macintosh Cocoa
graphical terminal.
‘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 live (i.e., 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.
Menu