evince 的一个不错的功能是,当您关闭程序并稍后重新打开同一个 pdf 时,它会自动跳转到您正在阅读的页面。我遇到的问题是我经常在几台计算机上阅读电子书,我必须找到我正在阅读 pdf 的最后一台计算机上。我认为在 UbuntuOne 中同步这些书签对于像我这样在不同计算机上阅读 pdf 的人来说将是一个杀手级功能。
通过调查,我发现了 evince 存储这些数据的位置。它位于gvfs 元数据中,可以通过键入来访问特定文档
gvfs-ls -a "metadata::evince::page" myEbook.pdf
而不是查询特定文件,我想查询位于~/.local/share/gvfs-metadata/home
主目录的整个元数据文件,以查找此特定属性设置为某个值的任何文件。最大的问题是 gvfs 元数据并存储在二进制文件中,我们都知道从二进制文件中获取内容并不容易。
那么,您知道有什么方法可以查询 gvfs 元数据以获取某些属性吗?
至于正确地做到这一点,这可能涉及用 couchdb 后端替换为元数据提供服务的后端代码。如果您想编写一些程序来解决这个杀手级功能,您还可以从代码中访问所有元数据。