Gnu emacs 窗口标题默认

问题描述 投票:0回答:4

我在 Windows XP 中使用 Gnu emacs,默认窗口标题为“emacs@ACH1797VM2”而不是缓冲区标题,据我所知,这是我想要的,也是正确的默认行为。

阅读完https://stackoverflow.com/a/2338352/1001165后,我将以下行放在 ~/.emacs 文件的末尾,但行为没有变化。

(setq frame-title-format "%b - emacs")

我可以使用

更改窗口标题
M-x set-frame-name NewName RET

但我希望它自动更改以匹配缓冲区名称。

windows emacs titlebar custom-titlebar
4个回答
6
投票

你可以尝试这个,添加到你的.emacs:

(setq frame-title-format
      '((:eval (if (buffer-file-name)
                   (abbreviate-file-name (buffer-file-name))
                 "%b"))
        (:eval (if (buffer-modified-p)
                   " •"))
        " Emacs")
      )

%b – 打印缓冲区名称。您可以在此处查看更多选项。 此外,如果您正在修改任何缓冲区,则会显示“•”,表明您正在修改并且有未保存的更改。

希望有帮助。

1http://www.emacswiki.org/emacs/FrameTitle


4
投票

我想说这条线是正确的。您可以将表达式复制并粘贴到

*scratch*
缓冲区中,然后点击 C-J。如果窗口标题发生变化,那么当您在
.init.el
中添加该行时,它也应该发生变化。还有一种可能是你的初始化文件位置不正确或者命名不正确...如果我没记错的话,在 Windows 中它不是以点开头,而是以下划线开头。


3
投票

我更认为这意味着窗口顶部的标题,而不是 Emacs 内灰色栏中的部分。更改此设置很有用,以便您在使用 Alt+TAB 或在任务栏中时可以区分不同的窗口。

我发现了这个,它可以帮助我显示光标聚焦的缓冲区的名称:

(setq frame-title-format "%b - Emacs")

链接.


1
投票

这就是我的 .emacs 中的内容。不确定有没有效果。

(setq-default frame-title-format '(buffer-file-name "%f" "%b")) ; I already know this is Emacs
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.