1

解决方案和完整的执行线

Exec=sh -c 'sed -i "1s:.*:<body background=%f>:" /home/burak/Not/Shortcuts.mkd && pandoc -f markdown /home/burak/Not/Shortcuts.mkd --css /home/burak/Public/CSS/pandoc2.css -s -S -w html -o /home/burak/Not/Shortcuts.html && phantomjs /home/burak/bin/shortcuts.js file:///home/burak/Not/Shortcuts.html /home/burak/Not/shortcuts.jpg 1920px*1080px && feh --bg-fill /home/burak/Not/shortcuts.jpg'

这可能与使用相同 ( DES-EMA ) 方案的其他文件管理器有关。

我有四个命令都单独工作,但我坚持将第二个命令添加到自定义操作的 Exec 行。如果我克服了这一点,我想可以相应地(或通过管道)添加其他两个剩余的命令。

这是我的命令和有关它们要做什么的信息(显然,%f 将扩展为在文件管理器中单击的文件):

sed -i "1s:.*:<body background=%f>:" /home/burak/Not/Shortcuts.mkd

上面的命令用下面的第二个命令替换了那个 markdown 文件的第一行,它改变了 pandoc 生成的 html 文件的背景图像:

pandoc -f markdown /home/burak/Not/Shortcuts.mkd --css /home/burak/Public/CSS/pandoc2.css -s -S -w html -o /home/burak/Not/Shortcuts.html

下面的第三个命令将 Shortcuts.html 转换为 shortcuts.jpg

phantomjs shortcuts.js file:///home/burak/Not/Shortcuts.html shortcuts.jpg 1920px*1080px

最后,下面的第四个命令将上述快捷方式.jpg 图像设置为桌面壁纸(所有快捷方式、bash 别名和一些其他命令嵌入桌面)。

feh --bg-fill %f

所以最后我会很容易地改变壁纸并将我的键盘快捷键和别名等嵌入到每个新壁纸中,如下所示:

嵌入快捷方式的壁纸

现在,如前所述,我一直卡在开头,即无法将第二个命令添加到第一个命令。我试过这个没有成功:

Exec=sed -i "1s:.*:<body background=%f>:" /home/burak/Not/Shortcuts.mkd && pandoc -f markdown /home/burak/Not/Shortcuts.mkd --css /home/burak/Public/CSS/pandoc2.css -s -S -w html -o /home/burak/Not/Shortcuts.html

这都没有奏效:

Exec=sh -c "sed -i "1s:.*:<body background=%f>:" /home/burak/Not/Shortcuts.mkd && pandoc -f markdown /home/burak/Not/Shortcuts.mkd --css /home/burak/Public/CSS/pandoc2.css -s -S -w html -o /home/burak/Not/Shortcuts.html"

并且管道(|)这两个命令在终端中有效,但在自定义操作桌面文件中无效。

我应该怎么做(如果重要的话,在带有 Fluxbox 的 Arch Linux 上)?

4

1 回答 1

0

该死!..以为我以前试过这个,但似乎不是这样。好吧,以这种方式管道工作:

Exec:sh -c 'sed "1s:.*:<body background=%f>:" < /home/burak/Not/Shortcuts.mkd | pandoc --css /home/burak/Public/CSS/pandoc2.css -s -S -w html -o /home/burak/Not/Shortcuts.html'
于 2016-05-11T19:10:39.423 回答