Next: , Previous: Deleting Frames, Up: Frames

29.7 Finding All Frames

— Function: frame-list

This function returns a list of all the live frames, i.e., those that have not been deleted. It is analogous to buffer-list for buffers, and includes frames on all terminals. The list that you get is newly created, so modifying the list doesn't have any effect on the internals of Emacs.

— Function: visible-frame-list

This function returns a list of just the currently visible frames. See Visibility of Frames. Frames on text terminals always count as “visible”, even though only the selected one is actually displayed.

— Function: next-frame &optional frame minibuf

This function lets you cycle conveniently through all the frames on the current display from an arbitrary starting point. It returns the “next” frame after frame in the cycle. If frame is omitted or nil, it defaults to the selected frame (see Input Focus).

The second argument, minibuf, says which frames to consider:

nil
Exclude minibuffer-only frames.
visible
Consider all visible frames.
0
Consider all visible or iconified frames.
a window
Consider only the frames using that particular window as their minibuffer.
anything else
Consider all frames.

— Function: previous-frame &optional frame minibuf

Like next-frame, but cycles through all frames in the opposite direction.

See also next-window and previous-window, in Cyclic Window Ordering.