如何将Dolphin中选中的所有文件作为参数传递给Desktop Entry?
如何将Dolphin中选中的所有文件作为参数传递给Desktop Entry?
嘿,我完全懂你遇到的这个头疼问题——明明想让脚本一次性处理所有选中的文件/文件夹,结果Dolphin偏偏要对着每个选中项单独调用一次脚本,这哪是幻灯片该有的样子嘛!
其实问题出在Dolphin对Desktop Entry参数的默认处理上:如果你的Exec字段里没明确指定如何传递选中的文件,它就会默认逐个触发。解决办法很简单,只要在脚本路径后面加上KDE标准的占位符%F就行了。
%F这个占位符的作用是把所有选中的本地文件/文件夹路径一次性作为参数传递给脚本,这样你的脚本就能像在Nemo里那样,一次拿到所有选中项去生成幻灯片了。
修改后的Desktop Entry代码如下,我标出来了改动的地方:
[Desktop Entry] Type=Service ServiceTypes=KonqPopupMenu/Plugin,inode/directory,image/* ExcludeServiceTypes=kdedevice/* Encoding=UTF-8 Actions=slideshow;shuffled_slideshow SingleMainWindow=true [Desktop Action slideshow] Name=Slideshow Icon=image # 这里加了%F占位符 Exec=/home/user/.local/share/nemo/scripts/slideshow.sh %F [Desktop Action shuffled_slideshow] Name=Shuffled Slideshow Icon=image # 这里也加了%F占位符 Exec=/home/user/.local/share/nemo/scripts/shuffled_slideshow.sh %F
另外补充一句:如果你的场景涉及远程文件(比如SMB共享里的文件),可以换成%U占位符,它支持本地和远程的URI路径;但你的需求是本地图片和文件夹,%F完全够用啦。
备注:内容来源于stack exchange,提问作者Silvano González
相关产品推荐
相关产品推荐

