Emacs 24客户端未正确加载颜色主题

Emacs 24客户端未正确加载颜色主题,emacs,elisp,emacs24,archlinux,Emacs,Elisp,Emacs24,Archlinux,我想使用颜色主题日光灯。如果我加载主题“solarized light t”,它就可以正常工作,但是我在自动加载时遇到了问题 如果我只是简单地将加载主题“solarized light t”添加到我的.emacs中,颜色主题将无法正确加载。一些颜色被应用,但其他的没有,我认为这是因为它没有在GUI中运行,所以它假设终端不能支持这些颜色或其他东西 从逻辑上讲,我尝试将加载主题的调用放在after make frame functions变量中。我认为,如果它只是在我已经在GUI中之后才尝试加载主题

我想使用颜色主题日光灯。如果我加载主题“solarized light t”,它就可以正常工作,但是我在自动加载时遇到了问题

如果我只是简单地将加载主题“solarized light t”添加到我的.emacs中,颜色主题将无法正确加载。一些颜色被应用,但其他的没有,我认为这是因为它没有在GUI中运行,所以它假设终端不能支持这些颜色或其他东西

从逻辑上讲,我尝试将加载主题的调用放在after make frame functions变量中。我认为,如果它只是在我已经在GUI中之后才尝试加载主题,那么它应该可以正常工作吗

没有。当我创建第一帧时,终端也会发生同样的情况,并且颜色没有正确加载。然而,如果我在已经打开一个框架的情况下制作另一个框架,那么它可以正常工作

当我制作第一帧时,或者如果可能的话,在第一帧之前,有什么方法可以正确地应用主题吗

我在ArchLinux上运行Emacs24.3.1作为守护进程。如果这种行为与窗口管理器有关,我在StumpWM和Openbox中都尝试过,但在这两种情况下都不起作用

编辑:

作为临时解决方法,我在.stumpwmrc中创建了一个命令,在创建框架后运行shell命令emacsclient-eval load theme“solarized light t”。这是可行的,但它不能回答我最初的问题,也不可能帮助人们使用其他窗口管理器。

添加

(package-initialize)
(setq package-enable-at-startup nil)
到.emacs文件的顶部。然后从M-x自定义组中设置它们:主题,在菜单中选择主题并保存到.emacs文件,同时从默认面组中禁用前景和背景。重新启动emacs或M-x eval buffers进行检查。

尝试将其添加到生成帧挂钩之前,而不是在生成帧功能之后。不确定这一策略是否有效,因此这还不是一个正式的答案。