Currently xpdf does not have an option "watch file" to reload the document automatically. xpdfWatch monitors running xpdf programs and force them to reload the shown document if the corresponding file has been updated.

xpdfWatch is free software released under the GNU General Public License V3 or later.

xpdfWatch is (C) 2008-2009 Ralf Hoffmann.


The current release is xpdfWatch 0.4.3 (13 kB) (signature) from 2009-11-17.
You also need to install the xse tool. You can find a copy here: xse 2.1 (44 kB) (signature)



If you think these requirements for such a small tool are insane then you are probably right. You might want to check wxpdfinstead which is a wrapper script for xpdf. It will start xpdf, watch the given file and issue a reload for the xpdf instance. Besides perl there are no other requirements but you need to always use this script to start xpdf. In contrast xpdfWatch works even if xpdf is already running.


No special steps are required to install xpdfWatch. You may copy the file xpdfWatch.py into to your preferred bin directory (/usr/local/bin, $HOME/bin, ...).


xpdfWatch support two modes:
  1. Force xpdf programs showing a specific document to reload it:

    # xpdfWatch.py -f document.pdf

    That command may be used for example in a Makefile which creates the document.
  2. Checking all running xpdf programs in daemon mode:

    # xpdfWatch.py &

    In this mode xpdfWatch checks every second all documents opened by running xpdf programs whether they have been changed. If it detects such a change it will send a reload command with "xse" to the corresponding window.


If xpdfWatch does not work as expected you can try the debug mode:

# xpdfWatch.py -d

In this mode xpdfWatch will output information which might help finding problems.

If xpdfWatch complains about missing programs but they actually exist then start it with the argument --skiptest. Please also contact the author so the test can be fixed in the next release.