summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/l-pdfview.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/l-pdfview.lua')
-rw-r--r--Master/texmf-dist/tex/context/base/l-pdfview.lua35
1 files changed, 24 insertions, 11 deletions
diff --git a/Master/texmf-dist/tex/context/base/l-pdfview.lua b/Master/texmf-dist/tex/context/base/l-pdfview.lua
index 627477ee823..6fd3ac24686 100644
--- a/Master/texmf-dist/tex/context/base/l-pdfview.lua
+++ b/Master/texmf-dist/tex/context/base/l-pdfview.lua
@@ -6,41 +6,54 @@ if not modules then modules = { } end modules ['l-pdfview'] = {
license = "see context related readme files"
}
-local format, getenv = string.format, os.getenv
+-- Todo: figure out pdfopen/pdfclose on linux. Calling e.g. okular directly
+-- doesn't work in linux when issued from scite as it blocks the editor (no
+-- & possible or so).
+
+local format, concat = string.format, table.concat
pdfview = pdfview or { }
local opencalls = {
- ['default'] = "pdfopen --file", -- "pdfopen --back --file"
+ ['default'] = "pdfopen --ax --file", -- "pdfopen --back --file"
['xpdf'] = "xpdfopen",
}
local closecalls= {
- ['default'] = "pdfclose --file",
+ ['default'] = "pdfclose --ax --file",
['xpdf'] = nil,
}
local allcalls = {
- ['default'] = "pdfclose --all",
+ ['default'] = "pdfclose --ax --all",
['xpdf'] = nil,
}
if os.type == "windows" then
- opencalls['okular'] = 'start "test" "c:/program files/kde/bin/okular.exe" --unique' -- todo: get focus
+ -- opencalls['okular'] = 'start "test" "c:/program files/kde/bin/okular.exe" --unique' -- todo: get focus
+ opencalls['okular'] = 'start "test" "c:/data/system/kde/bin/okular.exe" --unique' -- todo: get focus
else
- opencalls['okular'] = 'okular --unique'
+ opencalls['okular'] = 'okular --unique'
end
-pdfview.METHOD = "MTX_PDFVIEW_METHOD"
-pdfview.method = getenv(pdfview.METHOD) or 'default'
-pdfview.method = (opencalls[pdfview.method] and pdfview.method) or 'default'
+pdfview.method = "default"
+
+directives.register("pdfview.method", function(v)
+ pdfview.method = (opencalls[v] and v) or 'default'
+end)
+
+function pdfview.setmethod(method)
+ if method and opencalls[method] then
+ pdfview.method = method
+ end
+end
function pdfview.methods()
- return table.concat(table.sortedkeys(opencalls), " ")
+ return concat(table.sortedkeys(opencalls), " ")
end
function pdfview.status()
- return format("pdfview methods: %s, current method: %s, MTX_PDFVIEW_METHOD=%s",pdfview.methods(),pdfview.method,getenv(pdfview.METHOD) or "<unset>")
+ return format("pdfview methods: %s, current method: %s (directives_pdfview_method)",pdfview.methods(),tostring(pdfview.method))
end
local openedfiles = { }