zathura:通过 exec 命令获取当前页码

zathura:通过 exec 命令获取当前页码

是否有类似于 $FILE 或 % 的变量可以从 Zathura 获取当前页码?

我正在尝试编写一个脚本来生成一个文本/markdown 文件,其中包含我正在阅读的 pdf 中的注释。它将使用 :exec 函数执行。我希望它写入进行注释的页面,例如:第 1 页 - “注释” 第 3 页 - “另一个注释”

是否可以?

答案1

这在 exec 函数内部是不可能的。然而,Zathura 通过 D-Bus 提供此信息,D-Bus 是许多 Linux 应用程序中使用的 IPC 工具。我建议安装 D-Bus 查看器(我使用 d-feet)并搜索“zathura”以查看可用的属性和命令 --- 其中有几个方便的属性和命令。

重要的是,当前页码可作为可通过外部程序访问的属性。您应该能够结合使用此信息dbus-send这个答案使用 dbus-send 获取属性可能会很方便)。

虽然我自己还没有这样做过dbus-send,但这些带有dbus_next库的 Python 行对我的用例起到了作用,并且可以作为适当的对象和接口名称和路径的参考。

from dbus_next.aio import MessageBus
bus = await MessageBus().connect()
introspection = await bus.introspect(f'org.pwmt.zathura.PID-{pid}', '/org/pwmt/zathura')
proxy_object = bus.get_proxy_object(f'org.pwmt.zathura.PID-{pid}', \
                                    '/org/pwmt/zathura', \
                                    introspection)
interface = proxy_object.get_interface('org.pwmt.zathura')
return await interface.get_pagenumber()

答案2

询问此问题几个月后,$PAGE添加了该变量,因此您现在可以使用它。

相关内容