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변수가 추가되어 이제 사용할 수 있게 되었습니다.

관련 정보