我想使用脚本将徽标添加到 Thunar 中的文件,但我找不到有关此内容的任何文档。
有可能做到这一点吗?如果可以,怎么做?
有人问了同样的问题这里,但他们提到了一个~/.cache/Thunar/metafile.tdb
我系统上不存在的文件。我认为这个问题和答案已经过时了。
答案1
Thunar 从 1.6 版开始使用 gvfs-metadata 守护进程来存储元数据。元数据存储在 中~/.local/share/gvfs-metadata
,但您无法从文件中读取它(它是以二进制格式存储我认为)。要读取元数据,可以使用gvfs-info
如下命令:
gvfs-info -a metadata:: /some/location
这将打印出 的元数据/some/location
。
如果您想更改元数据,可以使用gvfs-set-attribute
如下命令:
gvfs-set-attribute /some/location -t stringv metadata::mdtype value
/some/location
是要编辑其元数据的文件/文件夹的位置,-t stringv
告诉命令需要字符串输入,mdtype
设置要更改的元数据类型(例如emblems
)并new value
设置value
为的元数据mdtype
。例如:
gvfs-set-attribute Downloads -t stringv metadata::emblems emblem-default
为文件夹提供Downloads
徽标default
。
将值设置为none
删除徽标。您必须重新启动文件管理器才能看到更改。
我写了一个小脚本,允许您一次更改多个文件夹/文件的徽标:
run() {
cd # make sure we're in the home directory
echo 'What emblem do you want to apply?'
read emblem
if ! [ -z $emblem ]; then
for i in $@
do
echo 'Changing stuff...'
$(gvfs-set-attribute $i -t stringv metadata::emblems $emblem)
done
echo 'Done!'
else
echo 'Emblem must be specified! Exiting...'
exit
fi
}
init() {
if [[ -z $@ ]]; then
echo "No arguments provided"
else
run $@
fi
}
init $@