0

如果我运行 emacs,工具栏不会出现并接受我的设置:(tool-bar-mode -1)

没有任何问题。

如果我运行:

emacsclient -c -a ' '

(如果没有运行 emacs 守护程序,则启动 emacs 客户端并启动 emacs --daemon)

然后出现工具栏,我必须通过手动禁用它

Mx RET 工具栏模式 RET Mx RET 工具栏模式 RET

我不知道为什么我做了一次后必须做两次,它告诉我工具栏模式已启用(但它已经启用了?)然后第二次成功禁用它。

我真的不认为该设置被忽略了,我认为我的预期加载顺序~/.emacs.d/init.el被打乱了,因为 emacs 中守护程序功能的设计中存在某些问题。

我不知道那到底是什么,而且我不是来修复 emacs 本身的。我只想承认这个问题,并且能够处理它。

任何帮助将非常感激。

ps - 我最近开始使用package.el,所以我认为它可能与它有关。向我询问您需要知道的任何信息以帮助我解决此问题。

谢谢你。

编辑:(没有错,虽然我解决了这个问题,但我仍然认为这个问题没有解决,因为我还有一个问题)

我通过以下方式解决了这个问题

(tool-bar-mode -1)

并将其移动到我的 init.el 上的最后一件事

因为我实际上不想破坏我的 init.el 雄伟的命令和设计,所以我在它所在的位置和开始工作的位置之间移动了这条线,缩小了差距,直到我找到了一条有问题的线:

出于某种原因,如果:

(tool-bar-mode -1)

provided此行之前:

(setq default-frame-alist '((cursor-color . "white")))

emacs 正在以守护程序模式启动

然后:

该行将被忽略,因为 tool-bar-mode 实际上被标记为禁用(因为 Mx RET too-bar-mode 据说是第一次启用它)并且同时 tool-bar-mode 物理启用.

如果 emacs 正常启动,那么这一切都不会发生。

在这种情况下,鉴于我学到的所有这些信息,我想把我的问题改得更短一些:

为什么?

谢谢你 :)

4

2 回答 2

1
(tool-bar-mode -1)

关闭当前帧的工具栏。对于普通的 Emacs,这就是您正在查看的框架。然后,您可以通过以下方式更改新帧的默认帧参数

(setq default-frame-alist '((cursor-color . "white")))

此时,如果你打开一个新框架,唯一的非默认参数是 cursor-color。

在守护程序模式下运行,关闭工具栏时没有活动框架。第一个可见框架使用 default-frame-alist,它不会修改工具栏设置。

您可以tool-bar-lines在 default-frame-alist 中设置为 0 以关闭所有新窗口的工具栏。

于 2014-03-08T04:16:22.117 回答
0
  • 创建一个cemacs包含如下内容的新文件,您应该更改emacsfolder变量
  • 使这个文件可执行,并把它放到你的$PATH
  • 现在您可以使用 cemacs 作为您的 emacsclient 替代品
#!/bin/bash
# NOTE: jetbrains external tools doesn't support `env bash` command

# TODO: you should change to your own folder
emacsfolder=/Applications/Emacs.app/Contents/MacOS

# execute emacs command to disable ui
$emacsfolder/bin/emacsclient -e '(progn (scroll-bar-mode -1) (tool-bar-mode -1))'

# start emacsclient
$emacsfolder/bin/emacsclient $args "$@"
于 2020-11-05T07:39:59.627 回答