diff options
Diffstat (limited to 'tex/context/base/mkiv/mtx-context-domotica.tex')
-rw-r--r-- | tex/context/base/mkiv/mtx-context-domotica.tex | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/tex/context/base/mkiv/mtx-context-domotica.tex b/tex/context/base/mkiv/mtx-context-domotica.tex new file mode 100644 index 000000000..62e6e8786 --- /dev/null +++ b/tex/context/base/mkiv/mtx-context-domotica.tex @@ -0,0 +1,167 @@ +%D \module +%D [ file=mtx-context-domotica, +%D version=2016.10.20, +%D title=\CONTEXT\ Extra Trickry, +%D subtitle=Domotica Goodies, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +% begin help +% +% usage: context --extra=domotica [options] list-of-files +% +% --topspace=dimension : distance above first line +% --backspace=dimension : distance before left margin +% --bodyfont=list : additional bodyfont settings +% --paperformat=spec : paper*print or paperxprint +% --compact : small margins, 8pt font +% --verycompact : small margins, 7pt font +% +% --openzwave : process openzwave xml files +% --hue : process hue task file +% +% --pattern=spec : files to process +% +% example: context --extra=domotica --openzwave ./config/fibaro/fgms.xml ./open-zwave-master/config/aeotec/zw100.xml +% example: context --extra=domotica --openzwave --pattern="./open-zwave-master/config/**.xml" +% example: context --extra=domotica --hue hue-pragma-tasks.lua +% +% end help + +% --pattern="e:/domotica/open-zwave/open-zwave-master/config/**.xml" + +\input mtx-context-common.tex + +\usemodule[domotica-settings] + +\doifdocumentargument {compact} { + \setdocumentargument{topspace} {5mm} + \setdocumentargument{backspace}{5mm} + \setdocumentargument{bodyfont} {8pt} +} + +\doifdocumentargument {verycompact} { + \setdocumentargument{topspace} {5mm} + \setdocumentargument{backspace}{5mm} + \setdocumentargument{bodyfont} {7pt} +} + +\setupbodyfont + [dejavu,11pt,\getdocumentargument{bodyfont}] % dejavu is more complete + +\setuplayout + [header=0cm, + footer=1.5cm, + topspace=\getdocumentargumentdefault{topspace}{1.5cm}, + backspace=\getdocumentargumentdefault{backspace}{1.5cm}, + width=middle, + height=middle] + +\setuppapersize + [\getdocumentargument{paperformat_paper}] + [\getdocumentargument{paperformat_print}] + +\setuphead + [section] + [style=bold] + +\doifdocumentargument {openzwave} {\enablemode[openzwave]} +\doifdocumentargument {hue} {\enablemode[hue]} + +\startmode[openzwave] + + \starttext + + \setuplist + [chapter] + [style=bold, + width=4em] + + \setuplist + [section] + [width=4em] + + \setupheadertexts + + \setupheadertexts + [chapter][pagenumber] + + \starttitle[title=Zwave devices] + + \placelist[chapter,section] + + \stoptitle + + \startluacode + local arguments = document.arguments + local files = document.files + local pattern = arguments.pattern + local noffiles = #files + + if type(pattern) == "string" then + + local pattern = file.addsuffix(pattern,"xml") + + moduledata.zwave.show_settings(pattern) + + elseif noffiles > 0 then + + -- if arguments.sort then + -- table.sort(files) + -- end + + for i=1,#files do + local filename = file.addsuffix(files[i],"xml") + moduledata.zwave.show_settings(filename) + end + + else + + context("no files given") + + end + \stopluacode + + \stoptext + +\stopmode + +\startmode[hue] + + \starttext + + \setupheadertexts + + \startluacode + + local arguments = document.arguments + local files = document.files + local pattern = arguments.pattern + local filename = files[1] + + if filename then + context.starttitle { title = "Hue: " .. file.nameonly(filename) } + filename = file.addsuffix(filename,"lua") + if lfs.isfile(filename) then + moduledata.hue.show_state(filename) + else + context("unknown file %a",filename) + end + context.stoptitle() + else + context("no files given") + context.stoptitle() + end + + \stopluacode + + \stoptext + +\stopmode + + |