我创建了一个通过 Homebrew 安装的 Emacs Mac App 启动器。该技术使用了 Automator。
Automator 的问题是每次都会有一个旋转的齿轮进入任务栏。我不想每次启动 Emacs 时都要关闭它!
从 Dock 使用 Emacs.app 创建一个运行 shell 脚本的应用程序,该脚本运行 Emacs.app,如下所示:使用 Finder 导航到 /Applications 并双击 Automator.app。选择文档类型“应用程序”,然后单击“选择”。在左侧列表中,选择“库”。在下一个列表中,找到“运行 Shell 脚本”并将其拖到右侧的工作流区域中。在新的 shell 脚本中,删除文本并将其替换为:
cd # 从我的主目录开始。
使用我的环境:echo '/Applications/Emacs.app/Contents/MacOS/Emacs "$@"' | bash --login -s
“$@” 选择“Shell: /bin/bash”和“传递输入:作为参数”。点击“文件 > 保存…”,然后为新应用选择名称和位置。例如,您可以选择 /Applications 目录并将应用命名为“Emacs for Dock”。不要替换 Emacs.app。
如果您愿意,您可以将新应用程序的图标更改为与 Emacs.app 匹配,如下所示:选择 Emacs.app 并右键单击“获取信息”或按 cmd+i。在信息窗口中,选择左上角的小图标并复制(cmd+c)。接下来,选择您的新应用程序,获取其信息,选择小图标并粘贴(cmd+v)。
像往常一样将新应用程序拖到 Dock 中,就可以开始使用了。
您的新应用程序执行了 Dock 无法执行的两项操作(在 Mac OS 10.9 上)。“cd”命令使 emacs 从您的主目录而不是根目录“/”启动。--login 选项为 emacs 提供了与交互式终端相同的环境。具体来说,它为 emacs 提供了您常用的 PATH 环境变量,因此您可以在 emacs 中运行与终端中相同的命令。--login 的替代方案是 -i,它以不同的方式设置环境,如
答案1
今天我花了几个小时尝试各种方法来实现相同的功能,最后想出了一个只有一个负面副作用的方法:它会在 dock 上为正在运行的 emacs 创建额外的图标(见屏幕截图)。这只在 Yosemite 上进行了测试。
注:我从https://korewanetadesu.com/emacs-on-os-x.html,但我没有费心设置客户端/服务器,因为我不需要它。据我所知,它似乎也像您的 wiki 示例一样设置了环境。
这是通过使用脚本编辑器(对我来说,位于“应用程序/实用程序/”下)创建一个苹果脚本,其中包含:
tell application "/usr/local/Cellar/emacs/HEAD/Emacs.app/Contents/MacOS/Emacs" to activate
然后将其保存为应用程序