是否可以通过来自 shell 的脚本使用 url 启动 eww?

Is it possible to start eww with an url via script from shell?

有时我在浏览器 (qutebrowser) 中阅读一篇文章然后想,哦 "that article would be nice to work on in emacs"。我可以从浏览器调用脚本,并将访问过的 URL.

交给它们

是否可以调用 emacs(或者更好的 emacsclient,因为我总是有一个服务器 运行),以便它在 eww 中打开给定的 URL?

我发现我可以用一个函数来启动 emacs,但不知道如何从外部给这个函数一个参数。 对于 emacsclient,我什至没有发现这种可能性

您可以使用 emacsclient--eval 选项评估任意 lisp。所以你应该能够从 shell 做这样的事情(季节适当地从浏览器调用它):

    URL="https://google.com"
    emacsclient --eval "(eww \"$URL\")"

外部双引号允许 shell 扩展 URL 变量。转义的内部双引号使 URL 变量的值变成一个字符串,这是 eww 函数所期望的。

为了让它与 qutebrowser 一起工作,我只需要像这样放入文件 ~/.local/share/qutebrowser/userscripts/viewineww:

#! /bin/bash 
emacsclient --eval "(eww \"$QUTE_URL\")" 

使文件可执行,并在 qutebrowser 中绑定它:

 :bind de spawn --userscript viewineww