zathura:execコマンドを使用して現在のページ番号を取得します。

zathura:execコマンドを使用して現在のページ番号を取得します。

Zathuraから現在のページ番号を取得する$ FILEや%などの変数はありますか?

読んでいるPDFのコメントを含むテキスト/マークダウンファイルを生成するスクリプトを作成しようとしています。 :exec関数を使用して実行されます。コメントが書かれたページに書きたいです。例: ページ 1 - "コメント" ページ 3 - "他のコメント"

可能ですか?

答え1

これはexec関数内では不可能です。ただし、Zathuraは、多くのLinuxアプリケーションで使用されているIPCツールであるD-Busを介してこの情報を提供しています。どのプロパティとコマンドが利用可能かを確認するには、D-Busビューア(私はd-feetを使用)をインストールして「zathura」を検索することをお勧めします。いくつかの便利なプロパティがあります。

重要なのは、現在のページ番号が外部プログラムを介してアクセス可能な属性として提供されることです。あなたはこの情報をdbus-sendこの回答プロパティを取得するには、dbus-sendを使用すると便利です。

私はこれを直接やっていませんが、ライブラリを含むdbus-sendこれらのdbus_nextPython行は私のユースケースに適しており、適切なオブジェクトとインターフェイス名とパスへの参照として機能しました。

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変数が追加され、今すぐ使用できるようになりました。

関連情報