22.6 Creating Frames

The prefix key C-x 5 is analogous to C-x 4. Whereas each C-x 4 command pops up a buffer in a different window in the selected frame (see Displaying in Another Window), the C-x 5 commands use a different frame. If an existing visible or iconified (a.k.a. “minimized”, see Visibility of Frames in The Emacs Lisp Reference Manual) frame already displays the requested buffer, that frame is raised and deiconified (“un-minimized”); otherwise, a new frame is created on the current display terminal.

The various C-x 5 commands differ in how they find or create the buffer to select:

C-x 5 2

Create a new frame using the default frame parameters (make-frame-command).

C-x 5 c

Create a new frame using the window configuration and frame parameters of the current frame (clone-frame).

C-x 5 b bufname RET

Select buffer bufname in another frame. This runs switch-to-buffer-other-frame.

C-x 5 f filename RET

Visit file filename and select its buffer in another frame. This runs find-file-other-frame. See Visiting Files.

C-x 5 d directory RET

Select a Dired buffer for directory directory in another frame. This runs dired-other-frame. See Dired, the Directory Editor.

C-x 5 m

Start composing a mail message in another frame. This runs compose-mail-other-frame. It is the other-frame variant of C-x m. See Sending Mail.

C-x 5 .

Find the definition of an identifier in another frame. This runs xref-find-definitions-other-frame, the multiple-frame variant of M-.. See Find Identifier References.

C-x 5 r filename RET

Visit file filename read-only, and select its buffer in another frame. This runs find-file-read-only-other-frame. See Visiting Files.

C-x 5 5

A more general prefix command that affects the buffer displayed by the next command invoked immediately after this prefix command (other-frame-prefix). It requests the buffer of the next command to be displayed in another frame.

You can control the appearance and behavior of the newly-created frames by specifying frame parameters. See Frame Parameters.