I am using Emacs 24.5.1 on OpenSUSE Tumbleweed, with Gnome 3.16, and the title of the GTK window with Emacs in it is always emacs@hostname. How can I change it to the name of the current file I'm editing?

  • Why do you need this? I'm curious for your use case. The file name is already shown in the mode line, isn't it? – Dieter.Wilhelm Sep 22 '15 at 21:25
  • Gnome in Overview mode has the window title in big text below the window thumbnail, the one in the mode line is too small to see. – Sean Sep 23 '15 at 13:32
  • Just a side remark: If you have several frames open - for example if you open a file in another frame with C-x 5 f - then each frame will show the buffer name as title. It's only when you have just a single frame that you see "emacs@hostname". – pst Aug 24 at 10:55

The file name as window name

(setq-default frame-title-format '("%f"))

The file name and the major mode as window name (my conf)

(setq-default frame-title-format '("%f [%m]"))
| improve this answer | |
  • 6
    Use %b to get the filename without the path – Adversus Jun 12 '17 at 7:24
  • 2
    '%b' is also better for unsaved buffers, like "scratch" – teroi May 16 '18 at 8:29

Make emacs' window title show path of the current file:

(setq-default frame-title-format
                (format "%s@%s: %s %s"
                        (or (file-remote-p default-directory 'user)
                        (or (file-remote-p default-directory 'host)
                          (concat "(" buffer-file-truename ")"))
                          (concat "{" dired-directory "}"))
                          "[no file]")))))
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.