【问题标题】:emacs: Possible to set frame title different than task bar? (windows)emacs:可以设置与任务栏不同的框架标题吗? (视窗)
【发布时间】:2017-01-27 08:37:11
【问题描述】:

我在 Windows 7 上使用 Emacs 24.5.1。

我可以在 emacs 窗口标题栏和 windows 任务栏中使用不同的文本吗?

frame-title-format 似乎为两个位置设置了相同的文本。 设置 icon-title-format 好像没有效果。

谁能帮忙? :)

【问题讨论】:

  • 如果您指的是当鼠标悬停在 Emacs 图标上时在 Windows 任务栏上看到的图像,那么不,没有办法通过 Emacs 中的设置来更改它。如果您指的是其他内容,请考虑发布屏幕截图。
  • 我指的不是图片。我指的是标题栏和任务栏中显示的文本。附上截图。
  • 感谢您的屏幕截图——屏幕截图中描述的概念与我在 Windows 7 Ultimate 中看到的非常相似,只是当我将鼠标悬停在 Emacs 图标上时会弹出一个弹出窗口任务栏。简而言之,这是一个 Windows 的东西,除了 frame-title-format 之外,无法在 Emacs 中控制。也许有人会建议 Windows 调整。
  • 在一个相关但不同的注释中,您可能希望在mode-line-format 中包含文件名(根据其长度而有所截断),并使用frame-title-format 进行组织目的。例如,用于编写文档的框架、用于以特定语言进行编程的框架、用于电子邮件、日历等的框架。有关如何按框架组织缓冲区的一些想法,请参阅此相关线程:stackoverflow.com/questions/18346785/… 并且,将缓冲区与框架见:github.com/alpaker/Frame-Bufs
  • 这是一个 emacs 问题。如果答案是“不能由 emacs elisp 设置” - 那我很好。

标签: windows emacs elisp title taskbar


【解决方案1】:

你不能在 Emacs Lisp 中做到这一点。或者更确切地说,你不能轻易做到。

Windows 从框架标题继承任务栏名称。这是所有程序的预期行为,并且没有默认方法可以更改它。它可以更改,但过程很麻烦。我认为 Microsoft 并不打算存在此功能。

This question 讨论了在 C# 中执行此操作的几种不同方法。它建议更改程序用于创建框架的底层类,并对显示的标题进行一些修改。在 Elisp 中可以做到这一点,但您可能必须与 Windows DLL 交互。修改 Emacs 源代码并创建自定义构建可能是更好的解决方案。

除非您强烈需要这种行为,否则我认为它不值得实施。我在我的框架标题中显示了某些数据,我认为这是你想要在这里做的。如果您只想持续显示该数据而不使标题混乱,则在每个框架的顶部创建一个将显示在任务栏下方的单行窗口可能会更容易。

【讨论】:

    猜你喜欢
    • 2011-06-05
    • 1970-01-01
    • 1970-01-01
    • 2014-12-08
    • 2011-05-02
    • 1970-01-01
    • 2017-02-22
    • 2010-10-20
    • 1970-01-01
    相关资源
    最近更新 更多