当框架出现时,如何让 Emacs 评估文件?

发布于 2024-08-27 07:58:18 字数 286 浏览 9 评论 0原文

基本上我已经设置了我的 Emacs,因此它有一个特定于 GUI 的 elisp,但是当以守护程序模式启动它时,这不会评估。代码是这样的:

;; gui.el
(when window-system
  (progn
    ;; do stuff here
    ))

当我在命令行上运行 emacsclient -c 时,我希望重新评估这个文件(或者至少是其中的代码 - 可能是一个函数),因为我错过了所有字体 -锁定和颜色主题的优点(因为我将这些东西设置为仅在 GUI 存在时运行)。

Basically I have my Emacs set up so it has a GUI specific elisp, but when starting it in daemon mode this doesn't evaluate. The code is something like:

;; gui.el
(when window-system
  (progn
    ;; do stuff here
    ))

I'd like this file (or at least the code within it—perhaps a function) to be re-evaluated when I run emacsclient -c on the command line, as I miss out on all my font-lock and color-theme goodness (as I have that stuff set to runonly when a GUI exists).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

鸵鸟症 2024-09-03 07:58:19

您应该在启动 emacsclient 时评估您的 GUI 功能:

emacsclient -c --eval "(your-gui-init-function)"

You should evaluate your GUI function when starting emacsclient:

emacsclient -c --eval "(your-gui-init-function)"
何处潇湘 2024-09-03 07:58:18

您可以将代码放入一个钩子中,以便在创建框架之前调用。

(add-hook 'before-make-frame-hook 'my-gui-initialization-stuff)

在该钩子中,您可能希望有一行这样做,

(remove-hook 'before-make-frame-hook 'my-gui-initialization-stuff)

这样您就不必一遍又一遍地进行初始化。

You can put your code in a hook to be called before a frame is created

(add-hook 'before-make-frame-hook 'my-gui-initialization-stuff)

In that hook you probably want to have a line that does

(remove-hook 'before-make-frame-hook 'my-gui-initialization-stuff)

so you don't do the initialization over and over.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文