On Thu, Oct 19, 2006 at 06:58:32PM +0200, Enrico Forestieri wrote:
> Ach! This one actually works for dvipdfm, too.
Uhm, there is no reason to limit this to Windows. I modified the patch
such that a lyxpdfview command is considered a not overridable (by the
auto feature) viewer for pdf on any platform.
In this way one could write a script using the pdfopen and pdfclose
utilities (which are available on linux, too) to circumvent the
brain dead acroread.
However, thinking about it, introducing a noauto flag seems the
right thing to do here, but perhaps we can do that in 1.5 only.
--
Enrico
Index: lib/configure.py
===================================================================
--- lib/configure.py (revision 15373)
+++ lib/configure.py (working copy)
@@ -84,6 +84,36 @@ def setEnviron():
os.environ['LC_CTYPE'] = os.getenv('LC_CTYPE', 'C')
+def setPDFviewer(prefs):
+ ''' Set the lyxpdfview command directly in preferences if no pdf viewer
+ is already set, such that it is not overridden by the the auto open
+ feature
+ '''
+ if os.access(prefs, os.F_OK):
+ p1 = re.compile(r'^\\format "pdf"')
+ p2 = re.compile(r'^\\format "pdf2"')
+ p3 = re.compile(r'^\\format "pdf3"')
+ r1 = r2 = r3 = None
+ for line in open(prefs).readlines():
+ if r1 == None:
+ r1 = p1.search(line)
+ if r2 == None:
+ r2 = p2.search(line)
+ if r3 == None:
+ r3 = p3.search(line)
+ if r1 == None:
+ writeToFile(prefs, '\\format "pdf" "pdf" "PDF (ps2pdf)" "P"
"lyxpdfview" ""\n', append = True)
+ if r2 == None:
+ writeToFile(prefs, '\\format "pdf2" "pdf" "PDF (pdflatex)" "F"
"lyxpdfview" ""\n', append = True)
+ if r3 == None:
+ writeToFile(prefs, '\\format "pdf3" "pdf" "PDF (dvipdfm)" "m"
"lyxpdfview" ""\n', append = True)
+ else:
+ writeToFile(prefs, '''\\format "pdf" "pdf" "PDF (ps2pdf)" "P"
"lyxpdfview" ""
+\\format "pdf2" "pdf" "PDF (pdflatex)" "F" "lyxpdfview" ""
+\\format "pdf3" "pdf" "PDF (dvipdfm)" "m" "lyxpdfview" ""
+''')
+
+
def createDirectories():
''' Create the build directories if necessary '''
for dir in ['bind', 'clipart', 'doc', 'examples', 'images', 'kbd', \
@@ -263,9 +293,12 @@ def checkFormatEntries():
rc_entry = [r'''\Format eps eps EPS ""
"%%" ""
\Format ps ps Postscript t "%%" ""'''])
#
- checkViewer('a PDF previewer', ['acrobat', 'acroread', 'gv', 'ghostview', \
- 'xpdf', 'kpdf', 'kghostview'],
- rc_entry = [r'''\Format pdf pdf "PDF (ps2pdf)" P
"%%" ""
+ if (checkProg('a not overridable PDF previewer', ['lyxpdfview']) != ['',
'']):
+ setPDFviewer("preferences")
+ else:
+ checkViewer('a PDF previewer', ['acrobat', 'acroread', 'gv',
'ghostview', \
+ 'xpdf', 'kpdf', 'kghostview'],
+ rc_entry = [r'''\Format pdf pdf "PDF (ps2pdf)"
P "%%" ""
\Format pdf2 pdf "PDF (pdflatex)" F "%%" ""
\Format pdf3 pdf "PDF (dvipdfm)" m "%%" ""'''])
#