从emacs call-process运行os x screencapture

时间:2014-12-04 11:11:00

标签: macos emacs screenshot

我想在emacs中通过交互式选择区域在OS X上生成屏幕截图。

在命令行上按预期工作

screencapture -i ~/test.png

但是,当我使用(call-process ...)

调用此文件时,不会创建该文件
(call-process "screencapture" nil nil nil "-i" "~/test.png")

我错过了什么?

1 个答案:

答案 0 :(得分:3)

尝试使用设置为t的第三个参数运行它,以将命令的输出插入当前缓冲区。它说:

screencapture: cannot write file to intended destination, ~/test.png

这是因为主目录的~缩写由shell扩展,但call-process绕过shell并将参数直接传递给命令。请尝试明确指定路径,例如:

(call-process "screencapture" nil nil nil "-i" "/Users/me/test.png")