Shell-Script
zathura:獲取 exec 命令的目前頁碼
是否有類似於 $FILE 或 % 的變數從 Zathura 獲取目前頁碼?
我正在嘗試編寫一個腳本來生成一個帶有我正在閱讀的pdf註釋的文本/降價文件。它將使用 :exec 函式執行。我希望它寫註釋所在的頁面,例如:第 1 頁 - “註釋” 第 3 頁 - “另一個註釋”
可能嗎?
這在 exec 函式內部是不可能的。但是,Zathura 通過 D-Bus 提供此資訊,這是許多 Linux 應用程序中使用的 IPC 工具。我建議安裝一個 D-Bus 查看器(我使用 d-feet)並蒐索“zathura”以查看可用的屬性和命令——那裡有幾個方便的。
重要的是,目前頁碼可用作可通過外部程序訪問的屬性。您應該能夠結合使用此資訊
dbus-send
(this answer on getting properties with dbus-send 可能很方便)。雖然我自己沒有這樣做
dbus-send
,但這些帶有庫的 Python 行dbus_next
對我的案例起到了作用,並且可以作為適當的對象和介面名稱和路徑的參考。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()