【问题标题】:Emacs: GUI with emacs --daemon not loading fonts correctlyEmacs:带有 emacs --daemon 的 GUI 无法正确加载字体
【发布时间】:2011-04-28 10:28:51
【问题描述】:

我设置了emacs --daemon 以便更快地启动 emacs。我特别喜欢 emacs 的 GUI 版本,所以我用emacsclient -c 来打开一个新的 emacs 框架。

问题是我更改了我的字体,但是如果我启动emacsclient -c,这些字体不会被加载。但是,如果我只开始 emacs 就会应用它们(但这会导致整个 .emacs 被评估)。

那么:如果我使用 emacsclient -c 启动 emacs,是否也可以应用我的字体设置?

【问题讨论】:

    标签: emacs fonts daemon


    【解决方案1】:

    简而言之,您必须为此使用default-frame-alist。像这样:

    (setq default-frame-alist '((font . "Inconsolata-dz-15")))
    

    每次您在 Emacs 中启动一个新的图形框架时,都会对其进行评估。这也是您保存其他与帧相关的设置的地方,例如 fringe 的设置等。

    【讨论】:

    • 谢谢。这指出了正确的方向,让我解决问题。
    • 这工作正常,但我有副作用,我的其余配置,包括 (tool-bar-mode -1) 没有加载 emacsclient -c 所以我修复了字体问题,但我加载了一个框架使用默认选项,有什么想法吗?
    • 奇怪。尝试设置(tool-bar-mode 0) 而不是-1。这就是我所做的,它适用于 *NIX 和 OS X。但我已经将它包含在 Windows 中(在 default-frame-alist 中),不确定它是否有效(我不使用 Windows 超过必要):(tool-bar-lines . 0)
    • @jrbalderrama 尝试使用 (add-to-list 'default-frame-alist ...) 而不是 '(setq default-frame-alist ...). This works fine for me and shouldn't overwrite your default-frame-list`,这样您就可以保留自定义设置。
    【解决方案2】:

    以下内容可能会满足您的需求。

    (add-to-list 'default-frame-alist '(font . "Inconsolata-12"))
    

    【讨论】:

      【解决方案3】:

      如果您使用 Emacs 23.2,更改 GNOME 中的等宽字体也会更改 Emacs 字体。在早期版本中,您必须这样做:

      echo "Emacs.font: Monospace-10" >> ~/.Xresources
      xrdb
      

      将 Monospace-10 替换为您要使用的实际字体。

      【讨论】:

        【解决方案4】:

        emacslient 有一个选项 -F (--frame-parameters),可让您指定新创建框架的字体

        例子:

        emacsclient -c -F '((font . "8x16"))'  some_file
        

        【讨论】:

          猜你喜欢
          • 2010-09-26
          • 2013-03-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-27
          • 1970-01-01
          相关资源
          最近更新 更多