A bit of terminology that can help you find help and documentation: for historical reasons, what the rest of the world calls a window is called frame in Emacs. What Emacs calls a window is what the rest of the world sometimes calls a pane. The same metaphor grew in different directions.
Emacs automatically sets its operating system window title (i.e. the title of the Emacs frame) to emacs@darkstar
(where darkstar
is the host name of the machine it's runnning on) if there's a single Emacs window, and to the buffer name if there are multiple windows. (That's multiple windows in the same instance.) However, this only applies to the title of Emacs windows, i.e. when running a GUI instance of Emacs. If you run Emacs inside a terminal, Emacs doesn't set the terminal's title out of the box.
The Emacs wiki gives a solution when Emacs is running in an xterm-like terminal. Most Unix terminal emulators, including Gnome Terminal, are xterm-like. Install the packages xterm-frobs.el
and xterm-title.el
(not available from a package repository that I can find) and put the following code in your init file:
(require 'xterm-title)
(xterm-title-mode 1)
Then when Emacs is running in a terminal, it will try to set the terminal emulator's title.
To configure the text that goes into the title, configure the variable frame-title-format
. For example, to always show Emacs: buffer name
regardless of whether there are multiple frames, use
(setq frame-title-format "Emacs: %b")
If you want to give a specific title to a specific window, use the command set-frame-name
.