小编Kur*_*ger的帖子

Emacs 作为具有窗口系统的 OS X 上的守护进程

我在 OS X 10.6 上运行 gnu emacs 23.3.1 cocoa build。
我将以下内容添加到 ~/Library/LaunchAgents/gnu.emacs.daemon.plist 以便它会启动一个守护进程并在我无意中杀死它时自动重新启动 emacs。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
    "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
 <plist version="1.0">
  <dict> 
    <key>Label</key>
    <string>gnu.emacs.daemon</string>
    <key>ProgramArguments</key>
    <array>
      <string>/Applications/Emacs.app/Contents/MacOS/Emacs</string>
      <string>--daemon</string>
    </array>
   <key>RunAtLoad</key>
   <true/>
   <key>KeepAlive</key>
   <true/>
   <key>ServiceDescription</key>
   <string>Gnu Emacs Daemon</string>
  </dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

这有点工作,但我注意到我的颜色主题不能正常工作。然后我记得我在我的 init 文件中添加了以下内容:

(when window-system 
  (require 'alpha)
  (require 'color-theme-ir-black)
  (modify-frame-parameters (selected-frame) '((alpha . 85)))
  (color-theme-ir-black))
Run Code Online (Sandbox Code Playgroud)

当作为守护程序窗口系统启动时,显然是错误的,这是有道理的,但是我添加它的原因是因为我偶尔喜欢从 ssh 等在终端中启动正常的 emacs 构建,而这种配色方案在 iTerm 中完全不可读,因此(当窗口系统......)。有没有办法在使用 --daemon 启动时强制 emacs 启动窗口模式?

我注意到的另一个问题是,当我在 dameon 模式下运行 press sw (delete-frame) 时,我没有收到错误尝试删除唯一可见或图标化的框架,并且 emacs 继续在后台运行。我在很大程度上喜欢这个,但是我注意到,一旦最后一帧被杀死,我就无法再从文档中重新打开 emacs,虽然 …

emacs osx-snow-leopard

13
推荐指数
1
解决办法
1151
查看次数

标签 统计

emacs ×1

osx-snow-leopard ×1