[О блоге] [наверх] [пред] [2020-11-09 19:36:27+03:00] [50558b9a75eb2f25f95d03383c3d6ecf6d850a66]
Темы: [tip]

PDF просмотр в табах. XEmbed

https://tools.suckless.org/tabbed/
http://git.stargrave.org/cgit.cgi/dotfiles.git/commit/?id=006a3bcc53de2435426073730ca2de002e93b635
https://specifications.freedesktop.org/xembed-spec/xembed-spec-latest.html
Сегодня меня осенило что ведь можно zathura помещать в табы. Точнее
стоило бы, вроде бы видел что её запускают внутри tabbed. Ибо когда надо
открыть много PDF (потому что надо быстро просмотреть/найти в них что-то,
но не знаешь где именно), то, делая zathura *.pdf, в dwm порождается
много окон, который регулярно помещаются из стэка в главную область экрана.

Вообще это не проблема на самом деле. Тут всё ok. Но у меня давняя
проблема с zathura что при изменении геометрии окна она бывает
"залипает". Или ни на что не реагирует или не реагирует система
рендеринга у неё. И когда окно перемещается из стэка в главную область
dwm, то resize происходит и PDF-ку уже возможно не получится прочитать
из-за глюков zathura. Поэтому я делал for p (*.pdf) zathura $p и
открывая по одной PDF-ке у меня получалось что все окна в главной
области сразу же.

Подумал что одно окно с табами упростит жизнь. До suckless проекта я и
не слышал о XEmbed протоколе X-ов, который позволяет делать
таб-менеджеры и включать в него "детей". Не нужно делать табы в
терминалах или броузерах -- нужно чтобы они поддерживали XEmbed протокол
и за табы будет отвечать внешняя программа, типа tabbed. tabbed имеет
всякие сочетания клавиш для переключения, перемещения, создания
(запуском внешней команды), удаления табов. tabbed можно указать команду
для запуска и ей он сможет передать id своего окна для embedding-а.

Раньше не использовал ничего из этого, так как табы в терминале у меня
tmux-овые, а GUI броузер xombrero сам ими рулит (uzbl, surf не
использую). С zathura это получилось. Вот только... теперь она вообще в
перманентном состоянии "замороженности" внутри tabbed и ничего не
рендерит. Проблема zathura тут стала проявляться 100% времени.

Я смог найти упоминание этой проблемы, но нигде нет намёков на решение.
Но у меня и родная zathura из портов, далеко не самая свежая. А она ещё
и от girara зависит. Пошёл обновлять всё это. Понадобилось ещё и MuPDF
ставить тоже не из портов, ибо этот был не достаточно свежий. Всё это
отдельный квест, ибо никаких привычных configure+make+make install или
redo (:-)!) тут нет. ninja, meson и чисто голые Makefile-ы. В этом году
ещё и не раз видел CMake сборки. Вот зоопарк то развёлся!

Но в итоге всё поставил, и написал скрипт обёртку над zathura который
запускает tabbed если его не нашёл или суёт в уже имеющийся эту zathura.
А на самом деле то мне надо было просто её (+зависимости) обновить чтобы
исчезла бага при resize окон.

    [оставить комментарий]