如何让mupdf自动刷新文档

如何让mupdf自动刷新文档

打开 pdfevince并对该文档进行更改(在 LaTeX 中重新编译)后,evince将自动刷新到该文档的最新版本。

mupdf但是并没有这样做:它一直显示我最初打开的版本。可以使用该命令加载最新版本r,但是有没有办法让其在这方面mupdf表现得像呢?evince说明书上没有提到这一点。

答案1

文档更改后mupdf用信号戳(例如重新编译后,或使用或其他东西来记录文件系统更改)HUPentr

pkill -HUP mupdf

或者更复杂的情况可能是编写一个开放或信号mupdf脚本

答案2

在 thrig 的答案中添加一点,这就是我想出的:

f=file.pdf; mupdf $f & while inotifywait -e close_write $f; do pkill -HUP mupdf; done

这将使用 mupdf 打开一个 pdf 文件,并在写入 pdf 时刷新。

使用inotify的想法来自这个答案

答案3

这是我的:

#!/usr/bin/fish

set f $argv[1]
mupdf $f &
set mu_pid $last_pid
while true
    inotifywait --event close_write $f &
    set in_pid $last_pid
    wait --any $mu_pid $in_pid
    if not jobs --query $mu_pid
        exit 0
    end
    kill -HUP $mu_pid
end

它仅刷新文件实际更改的 mupdf 实例的特定 PID,而不是刷新所有实例。

相关内容