是否有类似于 $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
添加了该变量,因此您现在可以使用它。