zathura :Получить номер текущей страницы по команде exec

В x86 _64 код ядра переключается на стек прерываний при прерывании. На каждый ЦП приходится один стек прерываний. Если прерывание происходит при работе в пользовательском режиме, фактически происходит два переключения стека :сначала из пользовательского стека в стек ядра для этого потока/процесса (это делается автоматически аппаратным обеспечением ), затем происходит переключение на стек прерываний. См.https://www.kernel.org/doc/Documentation/x86/kernel-stacks

0
16.03.2021, 17:05
1 ответ

Это невозможно из функции exec. Однако Zathura предоставляет эту информацию по шине D -, которая представляет собой инструмент IPC, используемый во многих приложениях Linux. Я бы порекомендовал установить D -Bus viewer (Я использовал d -футов )и искал «zathura», чтобы увидеть доступные свойства и команды ---, там есть несколько полезных.

Важно отметить, что номер текущей страницы -доступен как свойство, к которому можно получить доступ через внешнюю программу. Вы должны иметь возможность использовать эту информацию в сочетании сdbus-send(этот ответ о получении свойств с помощью 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()
1
27.03.2021, 00:15

Теги

Похожие вопросы