implemented horizontal menus

This commit is contained in:
louis
2015-08-08 11:04:15 +02:00
parent b5c587b256
commit ea758f9556
54 changed files with 672 additions and 2210 deletions

View File

@@ -8,6 +8,9 @@
<parameter type="int" name="shifttimedatetime" min="0" max="1000" displaytext="{tr(shifttimedatetimetext)}">0</parameter>
<parameter type="int" name="shifttimetimers" min="0" max="1000" displaytext="{tr(shifttimetimerstext)}">0</parameter>
<parameter type="bool" name="showdevices" displaytext="{tr(showdevices)}">0</parameter>
<parameter type="string" name="mainmenuorientation" displaytext="{tr(mainmenuorientation)}" options="horizontal,vertical">1</parameter>
<parameter type="string" name="recmenuorientation" displaytext="{tr(recmenuorientation)}" options="horizontal,vertical">1</parameter>
<parameter type="string" name="weathermenuorientation" displaytext="{tr(weathermenuorientation)}" options="horizontal,vertical">1</parameter>
</menu>
<translations>
@@ -33,5 +36,25 @@
<trans lang="de_DE">DVB Karten Info beim Umschalten anzeigen</trans>
<trans lang="fi_FI">Näytä DVB-tiedot kanavanvaihdossa</trans>
</token>
<token name="tr(mainmenuorientation)">
<trans lang="en_EN">Orientation of main menu</trans>
<trans lang="de_DE">Ausrichtung des Hauptmenüs</trans>
</token>
<token name="tr(recmenuorientation)">
<trans lang="en_EN">Orientation of recordings menu</trans>
<trans lang="de_DE">Ausrichtung des Aufzeichnugsmenüs</trans>
</token>
<token name="tr(weathermenuorientation)">
<trans lang="en_EN">Orientation of weatherforecast menu</trans>
<trans lang="de_DE">Ausrichtung des Wettermenüs</trans>
</token>
<token name="tr(horizontal)">
<trans lang="en_EN">horizontal menu</trans>
<trans lang="de_DE">horizontales Menü</trans>
</token>
<token name="tr(vertical)">
<trans lang="en_EN">vertical menu</trans>
<trans lang="de_DE">vertikales Menü</trans>
</token>
</translations>
</setup>

View File

@@ -2,19 +2,12 @@
<!DOCTYPE displayaudiotracks SYSTEM "../../../dtd/displayaudiotracks.dtd">
<displayaudiotracks x="25%" y="0" width="50%" height="100%" fadetime="{fadetime}">
<!-- Available Variables background:
{numtracks} number of displayed tracks
-->
<background>
<area x="0" y="{areaheight} - {numtracks} * {areaheight} / 10 - {areaheight} / 10" width="100%" height="{areaheight} / 10 + {areaheight} / 10 * {numtracks}" layer="1">
<fill color="{clrTransBlack}" />
</area>
</background>
<!-- Available Variables header:
{numtracks} number of displayed tracks
{title} title of menu
-->
<header>
<area x="0" y="{areaheight} - {numtracks} * {areaheight} / 10 - {areaheight} / 10" width="100%" height="{areaheight} / 10" layer="2">
<drawtext x="10" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{title}" />
@@ -22,15 +15,8 @@
<drawimage condition="{isac3}" imagetype="icon" path="ico_ac3" x="{areawidth} - {areaheight}*0.9" valign="center" width="{areaheight}*0.9" height="{areaheight}*0.9"/>
</area>
</header>
<!-- Available Variables header:
{numelements} number of displayed tracks
-->
<menuitems x="0" y="{areaheight} - {numelements} * {areaheight} / 10" orientation="vertical" width="100%" height="{numelements} * {areaheight} / 10" align="top" numlistelements="{numelements}">
<!-- Available Variables auidotrack listelement:
{current} true if item is currently selected
{title} title of auio track
-->
<listelement>
<!-- Background -->
<area x="1%" width="98%" layer="2">

View File

@@ -13,13 +13,6 @@
</area>
</background>
<!-- Available Variables channelinfo:
{channelnumber} Number of Channel, with "-" in case of channel switching
{channelname} Name of current Channel
{channellogoexists} true if a channel logo exists
{channelid} ChannelID as path to display channel logo
{switching} true if a number is pressed on the remote to switch to a dedicated channel
-->
<channelinfo>
<area x="22%" y="80%" width="76%" height="7%" layer="2">
<fill condition="not{switching}" color="{clrTransparent}" />
@@ -30,27 +23,7 @@
<drawtext condition="not{channellogoexists}" x="5" valign="center" font="{light}" fontsize="40%" color="{clrWhite}" text="{channelnumber}: {channelname}" />
</area>
</channelinfo>
<!-- Available Variables epginfo:
{currenttitle} Title of the current Schedule
{currentsubtitle} Subtitle of the current Schedule
{currentstart} Start of current Schedule in hh:mm
{currentstop} End of current Schedule in hh:mm
{currentduration} Duration of current Schedule in min
{currentdurationhours} Duration, full hours
{currentdurationminutes} Duration, rest of minutes
{currentelapsed} Elapsed time of current Schedule in min
{currentremaining} Remaining time of current Schedule in min
{currentrecording} true if current Schedule is recorded
{hasVPS} true if current Schedule has VPS
{nexttitle} Title of next Schedule
{nextsubtitle} Subtitle of next Schedule
{nextstart} Start of next Schedule in hh:mm
{nextstop} Stop of next Schedule in hh:mm
{nextduration} Duration of next Schedule in min
{nextdurationhours} Duration, full hours
{nextdurationminutes} Duration, rest of minutes
{nextrecording} true if next Schedule will be recorded
-->
<epginfo>
<area x="22%" y="80%" width="76%" height="7%" layer="2">
<drawtext name="title" x="0" valign="center" font="{light}" fontsize="99%" color="{clrWhite}" text="{currenttitle}" width="{areawidth} - {width(startstop)}"/>
@@ -64,15 +37,6 @@
</area>
</epginfo>
<!-- Available Variables progressbar:
{start} Start of current Schedule in hh:mm
{stop} End of current Schedule in hh:mm
{duration} Total Duration of current Schedule in seconds
{elapsed} Elapsed time of current Schedule in seconds
{remaining} Remaining time of current Schedule in seconds
{permashift} true if permashift plugin is in use
{livebuffer} current buffered data in seconds
-->
<progressbar>
<area condition="not{permashift}" x="22%" y="87%" width="76%" height="3" layer="2">
<drawrectangle x="0" y="1" width="100%" height="1" color="{clrWhite}" />
@@ -85,15 +49,6 @@
</area>
</progressbar>
<!-- Available Variables statusinfo:
{isRadio} true if channel is a radio channel
{hasVT} true if channel has video text
{isStereo} true if a stereo audio trac is available
{isDolby} true if a dolby audio track is available
{isEncrypted} true if channel is encrypted
{isRecording} true if currently a recording is running on this channel
{newmails} true if mailbox plugin is installed and new mails are available
-->
<statusinfo>
<area x="22%" y="94%" width="76%" height="6%" layer="2">
<!-- encrypted / decrypted icon -->
@@ -111,23 +66,9 @@
</area>
</statusinfo>
<!-- Available Variables audioinfo:
{numaudiotracks} number of available audio tracks for current channel
{audiochannel} 0 if current channel is stereo, 1 for left chanel only, 2 for right channel only
{trackdesc} description of the current audio track
{tracklang} language of the current audio track
-->
<audioinfo>
</audioinfo>
<!-- Available Variables screenresolution:
{screenwidth} width of currently displayed channel in px
{screenheight} height of currently displayed channel in px
{resolution} resolution: hd1080i, hd720p, sd576i
{aspect} screen aspect, each 4:3, 16:9 or 21:9
{isHD} true for hd1080i and hd720p
{isWideScreen} true if aspect is 16:9 or 21:9
-->
<screenresolution>
<area x="22%" y="94%" width="76%" height="6%" layer="2">
<!-- widescreen icon -->
@@ -141,15 +82,6 @@
</area>
</screenresolution>
<!-- Available Variables dvbdeviceinfo:
{prevAvailable} true if previous Channel Group is avaialble
{nextAvailable} true if next Channel Group is avaialble
{group} Name of current Channel Group
{nextgroup} Name of next Channel Group
{prevgroup} Name of prev Channel Group
{sepexists} true if a channel separator logo exists
{seppath} path for separator logo to use in imagetype "seplogo"
-->
<channelgroup>
<area x="0" y="80%" width="20%" height="20%" layer="2">
<drawimage condition="{sepexists}" imagetype="seplogo" path="{seppath}" width="98%" height="98%" align="center" valign="center" />
@@ -162,37 +94,15 @@
</area>
</channelgroup>
<!-- Available Variables signalquality:
{signalstrength} STR value of currently displayed channel
{signalquality} SNR value of currently displayed channel
-->
<signalquality>
<area x="22%" y="94%" width="76%" height="6%" layer="3">
<drawtext x="0" valign="center" font="{light}" fontsize="70%" color="{clrWhite}" text="STR: {signalstrength}% SNR: {signalquality}%" />
</area>
</signalquality>
<!-- background of signalmeter, will only be drawn if signalquality was deleted -->
<signalqualityback>
</signalqualityback>
<!-- Available Variables devices:
{numdevices} number of available devices
{devices[]} array with available devices
{devices[num]} number of current device
{devices[type]} type of device (DVB-S, DVB-C, ...)
{devices[istuned]} true if device is currently tuned to a transponder
{devices[livetv]} true if device is currently playing livetv
{devices[recording]} true if device is currently recording
{devices[hascam]} true if device has a CAM
{devices[cam]} number of CAM
{devices[signalstrength]} signalstrength of devcie
{devices[signalquality]} signalstrength of devcie
{devices[channelnumber]} number of the currently tuned channel
{devices[channelname]} name of the currently tuned channel
{devices[channelid]} ID of the currently tuned channel
{devices[source]} source of the currently tuned channel
-->
<devices condition="{showdevices}" detached="true" delay="100" shifttime="{shifttimedatetime}" shifttype="right" shiftmode="slowed">
<area x="70%" y="30%" width="30%" height="{areaheight}/12 * {numdevices}" layer="1" background="true">
<fill color="{clrTransBlack}"/>
@@ -211,26 +121,6 @@
</area>
</devices>
<!-- Available Variables currentweather:
{timestamp} timestamp of forecast in dd.mm hh:mm
{temperature} current temperature in °C
{apparenttemperature} apparent (feeled) temperature
{mintemperature} minimum temperature this day
{maxtemperature} maximum temperature this day
{summary} short weather summary
{icon} weather icon
{precipitationintensity} precipitation intensity in l/m2
{precipitationprobability} precipitation probability in %
{precipitationtype} precipitation type
{humidity} humidity in %
{windspeed} windspeed in km/h
{windbearing} wind bearing in °
{windbearingstring} wind bearing (N, NE, ...)
{visibility} visibility in km
{cloudcover} cloud cover in %
{pressure} pressure in HPo
{ozone} ozone value in DU
-->
<currentweather detached="true" delay="100" shifttime="{shifttimedatetime}" shifttype="right" shiftmode="slowed">
<area background="true" x="70%" y="15%" width="30%" height="13%" layer="1">
<fill color="{clrTransBlack}" />
@@ -248,22 +138,6 @@
</area>
</currentweather>
<!-- Available Variables scrapercontent:
{posterpath} Full Path of Poster to use in image path attribute
{posterwidth} width of poster in pixel
{posterheight} height of poster in pixel
{hasPoster} true if poster is available
{bannerpath} Full Path of banner to use in image path attribute
{bannerwidth} width of banner in pixel
{bannerheight} height of banner in pixel
{hasBanner} true if banner is available
Use this tokens if you want to display a banner for series and a poster for movies:
{mediapath} Full Path of Poster or Banner to use in image path attribute
{mediawidth} width of image in pixel
{mediaheight} height of image in pixel
{isbanner} true if image is a banner, false if it is a poster
-->
<scrapercontent detached="true" delay="0" fadetime="0">
<area condition="{isbanner}" x="0" y="0" width="{areaheight}*0.13*{mediawidth}/{mediaheight}" height="13%" layer="2">
<drawimage imagetype="image" path="{mediapath}" align="center" valign="center" width="{areawidth}" height="{areaheight}"/>
@@ -273,17 +147,6 @@
</area>
</scrapercontent>
<!-- Available Variables datetime:
{time} time in hh:mm
{day} day in digits
{dayleadingzero} day in digits with leading 0
{dayname} Full name of the day
{daynameshort} Short 3 char name of the day
{month} month in digits with leading 0
{monthname} Full name of the month
{monthnameshort} 3 letter abbrivation of month name
{year} year in yyyy
-->
<datetime detached="true" delay="100" shifttime="{shifttimedatetime}" shifttype="right" shiftmode="slowed">
<area background="true" x="70%" y="0" width="30%" height="13%" layer="1">
<fill color="{clrTransBlack}" />
@@ -297,13 +160,7 @@
<drawtext x="1%" valign="center" font="{light}" fontsize="90%" color="{clrWhite}" text="{time}" />
</area>
</datetime>
<!-- Available Variables message:
{text} message text
{status} true if message is a status message
{info} true if message is a info message
{warning} true if message is a warn message
{error} true if message is a error message
-->
<message>
<area x="10%" y="45%" width="80%" height="10%" layer="1">
<fill color="{clrTransBlack}" />
@@ -315,11 +172,7 @@
</area>
</message>
<!-- Available Variables customtokens:
all custom tokens set by the svdrp command SCTK are available in this viewelement
For instance, use an appropriate script which runs periodically as cronjob and
sets these custom tokens with svdrpsend or dbus2vdr
-->
<customtokens>
</customtokens>
</displaychannel>

View File

@@ -13,11 +13,7 @@
]>
<displaymenu x="3%" y="5%" width="94%" height="90%" fadetime="0">
<!--
The following background, header, datetime and colorbuttons definitions are default
implementations. If one or more of these elements are not implemented in the subview,
the default implementations are used.
-->
<background>
<!-- background left Menu -->
<area x="0" y="0" width="63%" height="100%" layer="1">
@@ -28,18 +24,7 @@
<fill color="{clrTransBlueLight}" />
</area>
</background>
<!-- Available Variables header:
{title} title of current menu
{vdrversion} running VDR Version
{hasicon} true if a menu icon is available
{icon} path of menu icon
{freetime} available disc capacity in hh:mm
{freepercent} available disc capacity in percent
{usedpercent} used disc capacity in percent
{freegb} available disc capacity in gigabytes
{discalert} true if disc usage is > 95%
{vdrusagestring} localized VDR internal usage string
-->
<header>
<area x="0" y="0" width="41%" height="10%" layer="2">
<drawtext condition="not{hasicon}" x="5" width="{areawidth}-10" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{title}" />
@@ -47,17 +32,7 @@
<drawtext condition="{hasicon}" x="{areaheight}" valign="center" width="{areawidth}-{areaheight}-10" font="{light}" fontsize="80%" color="{clrWhite}" text="{title}" />
</area>
</header>
<!-- Available Variables datetime:
{time} time in hh:mm
{day} day in digits
{dayleadingzero} day in digits with leading 0
{dayname} Full name of the day
{daynameshort} Short 3 char name of the day
{month} month in digits with leading 0
{monthname} Full name of the month
{monthnameshort} 3 letter abbrivation of month name
{year} year in yyyy
-->
<datetime>
<area x="41%" y="0" width="12%" height="10%" layer="2">
<drawtext align="right" y="5%" font="{light}" fontsize="50%" color="{clrWhite}" text="{dayname}" />
@@ -67,13 +42,7 @@
<drawtext align="center" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{time}" />
</area>
</datetime>
<!-- Available Variables message:
{text} message text
{status} true if message is an status message
{info} true if message is an info message
{warning} true if message is an warn message
{error} true if message is an error message
-->
<message>
<area x="5%" y="75%" width="90%" height="15%" layer="7">
<fill color="{clrTransBlack}" />
@@ -85,12 +54,6 @@
</area>
</message>
<!-- Available Variables sortmode:
{sortnumber} true if menu is sorted by number
{sortname} true if menu is sorted alphabetical
{sorttime} true if menu is sorted by time
{sortprovider} true if menu is sorted by provider
-->
<sortmode>
<area x="35%" y="2%" width="6%" height="6%" layer="4">
<drawimage condition="{sortnumber}" imagetype="icon" path="ico_sort_number" x="0" y="0" width="100%" height="100%"/>
@@ -99,28 +62,7 @@
<drawimage condition="{sortprovider}" imagetype="icon" path="ico_sort_provider" x="0" y="0" width="100%" height="100%"/>
</area>
</sortmode>
<!-- Available Variables colorbuttons:
{red1} true if red button is button 1
{red2} true if red button is button 2
{red3} true if red button is button 3
{red4} true if red button is button 4
{green1} true if green button is button 1
{green2} true if green button is button 2
{green3} true if green button is button 3
{green4} true if green button is button 4
{yellow1} true if yellow button is button 1
{yellow2} true if yellow button is button 2
{yellow3} true if yellow button is button 3
{yellow4} true if yellow button is button 4
{blue1} true if blue button is button 1
{blue2} true if blue button is button 2
{blue3} true if blue button is button 3
{blue4} true if blue button is button 4
{red} label of red button
{green} label of green button
{yellow} label of yellow button
{blue} label of blue button
-->
<colorbuttons>
<area x="0" y="92%" width="15%" height="8%" layer="2">
<drawtext condition="{red1}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{red}" />

View File

@@ -1,25 +1,5 @@
<menuchannels x="0" y="0" width="100%" height="100%" fadetime="0">
<menuitems x="0" y="10%" orientation="vertical" width="100%" height="82%" align="center" numlistelements="16">
<!-- Available Variables channels menu listelement:
{nummenuitem} number of item in list, starts with 1
{number} number of the displayed channel
{name} name of the displayed channel
{channelid} ChannelID as path to display channel logo
{transponder} Transponder of channel
{frequency} Frequency of channel
{source} Source of channel (S, C, T)
{sourcedescription} Descriptin of source from sources.conf
{position} orbital position of the satellite in case this is a DVB-S source
{isAtsc} true if channel is a ATSC channel
{isCable} true if channel is cable channel
{isSat} true if channel is a satellite channel
{isTerr} true if channel is terrestrical
{presenteventtitle} title of present event on this channel
{presenteventstart} present event start time in hh::mm
{presenteventstop} present event event stop time in hh::mm
{current} true if item is currently selected
{separator} true if item is a list separator
-->
<listelement>
<!-- Background -->
<area x="1%" width="58%" layer="2">
@@ -37,51 +17,6 @@
<drawtext x="20" valign="center" font="{light}" fontsize="95%" color="{clrWhite}" text="{name}" />
</area>
</listelement>
<!-- additional element which is drawn for current element -->
<!-- Available Variables channels menu currentelement:
{number} number of the displayed channel
{name} name of the displayed channel
{channelid} ChannelID as path to display channel logo
{transponder} Transponder of channel
{frequency} Frequency of channel
{source} Source of channel (S, C, T)
{sourcedescription} Descriptin of source from sources.conf
{position} orbital position of the satellite in case this is a DVB-S source
{isAtsc} true if channel is a ATSC channel
{isCable} true if channel is cable channel
{isSat} true if channel is a satellite channel
{isTerr} true if channel is terrestrical
{presenteventtitle} title of present event on this channel
{presenteventstart} present event start time in hh::mm
{presenteventstop} present event stop time in hh::mm
{presenteventshorttext} present event short text
{presenteventdescription} present event description
{presenteventday} present event name of day
{presenteventdate} present event date in dd:mm:yy
{presenteventelapsed} present event elapsed time
{presenteventduration} present event duration
{presenteventdurationhours} duration, full hours
{presenteventdurationminutes} duration, rest of minutes
{hasposter} true if a scraped poster is available for this elements present evemt
{posterwidth} width of scraped poster
{posterheight} height of scraped poster
{posterpath} absolute path of scraped poster
{nexteventtitle} title of next event on this channel
{nexteventstart} next event start time in hh::mm
{nexteventstop} next event event stop time in hh::mm
{nexteventshorttext} next event short text
{nexteventdescription} next event description
{nexteventday} next event name of day
{nexteventdate} next event date in dd:mm:yy
{nexteventduration} next event duration
{nexteventdurationhours} duration, full hours
{nexteventdurationminutes} duration, rest of minutes
{schedule[]} array with following 10 schedules
{schedule[title]} title of event
{schedule[shorttext]} shorttext of event
{schedule[start]} start time of event in hh:mm
{schedule[stop]} stop time of event in hh:mm
-->
<currentelement delay="500" fadetime="0">
<area x="63%" y="0" width="36%" height="85%" layer="2">
<drawimage name="logo" imagetype="channellogo" path="{channelid}" x="10" y="0" width="30%" height="10%" />
@@ -108,10 +43,6 @@
</areascroll>
</currentelement>
</menuitems>
<!-- Available Variables colorbuttons:
{height} height in one-tenth of a percent of total height
{offset} offset from top in one-tenth of a percent of total height
-->
<scrollbar>
<area x="60%" y="10%" width="2%" height="82%" layer="3">
<fill color="{clrWhite}" />
@@ -119,4 +50,4 @@
<drawrectangle x="4" y="4 + {areaheight} * {offset} / 1000" width="{areawidth} - 8" height="{areaheight} * {height} / 1000 - 8" color="{clrWhite}" />
</area>
</scrollbar>
</menuchannels>
</menuchannels>

View File

@@ -5,12 +5,7 @@
<fill color="{clrTransBlack}" />
</area>
</background>
<!-- Available Variables header:
{title} title of current menu
{vdrversion} running VDR Version
{hasicon} true if a menu icon is available
{icon} path of menu icon
-->
<header>
<area x="0" y="0" width="75%" height="10%" layer="2">
<drawtext condition="not{hasicon}" x="5" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{title}" />
@@ -18,16 +13,7 @@
<drawtext condition="{hasicon}" x="{areaheight}" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{title}" />
</area>
</header>
<!-- Available Variables datetime:
{time} time in hh:mm
{day} day in digits
{dayleadingzero} day in digits with leading 0
{dayname} Full name of the day
{daynameshort} Short 3 char name of the day
{month} month in digits with leading 0
{monthname} Full name of the month
{year} year in yyyy
-->
<datetime>
<area x="80%" y="0" width="10%" height="10%" layer="2">
<drawtext align="right" y="0%" font="{light}" fontsize="50%" color="{clrWhite}" text="{dayname}" />
@@ -38,28 +24,6 @@
</area>
</datetime>
<!-- Available Variables colorbuttons:
{red1} true if red button is button 1
{red2} true if red button is button 2
{red3} true if red button is button 3
{red4} true if red button is button 4
{green1} true if green button is button 1
{green2} true if green button is button 2
{green3} true if green button is button 3
{green4} true if green button is button 4
{yellow1} true if yellow button is button 1
{yellow2} true if yellow button is button 2
{yellow3} true if yellow button is button 3
{yellow4} true if yellow button is button 4
{blue1} true if blue button is button 1
{blue2} true if blue button is button 2
{blue3} true if blue button is button 3
{blue4} true if blue button is button 4
{red} label of red button
{green} label of green button
{yellow} label of yellow button
{blue} label of blue button
-->
<colorbuttons>
<area x="0" y="92%" width="25%" height="8%" layer="2">
<drawtext condition="{red1}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{red}" />
@@ -110,47 +74,8 @@
<drawrectangle x="4" y="4 + {areaheight} * {offset} / 1000" width="{areawidth} - 8" height="{areaheight} * {height} / 1000 - 8" color="{clrWhite}" />
</area>
</scrollbar>
<!-- IMPORTANT: menuitemwidth and determinatefont have to be defined here. menuitemwidth defines the total width of the
default menu items, determinatefont the function which sets the actual font to use. With that it is possible to determinate
the correct column widths -->
<menuitems x="0" y="10%" orientation="vertical" width="94%" height="82%" align="center" menuitemwidth="94%" determinatefont="column1" numlistelements="16">
<!-- Available Variables default menu listelement:
{nummenuitem} number of item in list, starts with 1
{column1} text of column1
{column2} text of column2
{column3} text of column3
{column4} text of column4
{column5} text of column5
{column6} text of column6
{column2set} true if column2 is used
{column3set} true if column3 is used
{column4set} true if column4 is used
{column5set} true if column5 is used
{column6set} true if column6 is used
{column2x} proposed x value of column2
{column3x} proposed x value of column3
{column4x} proposed x value of column4
{column5x} proposed x value of column5
{column6x} proposed x value of column6
{column1width} proposed width of column1
{column2width} proposed width of column2
{column3width} proposed width of column3
{column4width} proposed width of column4
{column5width} proposed width of column5
{column6width} proposed width of column6
{columnscroll} number of column which should have scrollable text
{current} true if column is currently selected
{separator} true if column is a list separator
A dynamic token is set to indicate the current menu category or the plugin which is currently running.
With that it is possible to display different default menus with an individual style.
If a setup menu is diplayed, the token
{setup} is set to true
For the commands menu
{commands} is set to true
If a plugin is running, a token called as the name of the plugin is set to true
{pluginname} is set to true
-->
<listelement>
<area x="0" condition="not{separator}" width="100%" layer="2">
<fill condition="not{current}" color="{clrTransparent}" />

View File

@@ -21,28 +21,7 @@
<fill color="{clrTransparent}" />
</area>
</datetime>
<!-- Available Variables colorbuttons:
{red1} true if red button is button 1
{red2} true if red button is button 2
{red3} true if red button is button 3
{red4} true if red button is button 4
{green1} true if green button is button 1
{green2} true if green button is button 2
{green3} true if green button is button 3
{green4} true if green button is button 4
{yellow1} true if yellow button is button 1
{yellow2} true if yellow button is button 2
{yellow3} true if yellow button is button 3
{yellow4} true if yellow button is button 4
{blue1} true if blue button is button 1
{blue2} true if blue button is button 2
{blue3} true if blue button is button 3
{blue4} true if blue button is button 4
{red} label of red button
{green} label of green button
{yellow} label of yellow button
{blue} label of blue button
-->
<colorbuttons>
<area x="0" y="92%" width="25%" height="8%" layer="2">
<drawtext condition="{red1}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{red}" />
@@ -85,38 +64,7 @@
<drawrectangle condition="{blue4}" x="0" y="0" width="10" height="100%" color="{clrBlue}" />
</area>
</colorbuttons>
<!-- Available Variables in detailheader elements:
{title} title of event
{shorttext} shorttext of event
{start} event start time in hh::mm
{stop} event stop time
{day} day of current event
{date} date of current event in dd.mm.yy
{daynumeric} day as number
{month} month as number
{year} year as number
{running} true if event is currently running
{elapsed} elapsed time of event, if not running 0
{duration} duration of event
{durationhours} duration, full hours
{durationminutes} duration, rest of minutes
{vps} vps description string
{channelname} Channelname of event
{channelnumber} Channelnumber of event
{channelid} ChannelID as path to display channel logo
{ismovie} true if event is scraped as a movie
{isseries} true if event is scraped as a series
{posteravailable} true if a poster is available
{posterwidth} width of scraped poster
{posterheight} height of scraped poster
{posterpath} absolute path of scraped poster
{banneravailable} true if a banner is available
{bannerwidth} width of banner
{bannerheight} height of banner
{bannerpath} path of banner
{epgpicavailable} true if a epg picture is available
{epgpicpath} path of epg picture
-->
<detailheader>
<area x="1%" y="0" width="98%" height="20%" layer="3">
<drawimage name="logo" imagetype="channellogo" path="{channelid}" x="0" width="15%" height="80%" valign="center" />
@@ -129,10 +77,7 @@
<drawtext name="shorttext" x="{width(logo)} + 20" y="{posy(title)} + {height(title)}" font="{light}" fontsize="25%" color="{clrWhite}" text="{shorttext}" />
</area>
</detailheader>
<!-- Available Variables scrollbar:
{height} height in one-tenth of a percent of total height
{offset} offset from top in one-tenth of a percent of total height
-->
<scrollbar>
<area x="98%" y="20%" width="2%" height="65%" layer="3">
<fill color="{clrWhite}" />
@@ -140,137 +85,6 @@
<drawrectangle x="4" y="4 + {areaheight} * {offset} / 1000" width="{areawidth} - 8" height="{areaheight} * {height} / 1000 - 8" color="{clrWhite}" />
</area>
</scrollbar>
<!-- Available Variables in tab elements:
{title} title of event
{shorttext} shorttext of event
{description} description of event
{start} event start time in hh::mm
{stop} event stop time
{day} Day of event as three letter abrivation
{date} Date of event
{daynumeric} day as number
{month} month as number
{year} year as number
{running} true if event is currently running
{elapsed} elapsed time of event, if not running 0
{duration} duration of event
{durationhours} duration, full hours
{durationminutes} duration, rest of minutes
{vps} vps description string
{channelid} ChannelID as path to display channel logo
{hasreruns} true if reruns of this event are found
{reruns[]} array with reruns
{reruns[title]} title of rerun
{reruns[shorttext]} shorttext of rerun
{reruns[date]} date of rerun in dd:mm
{reruns[day]} short dayname of rerun
{reruns[start]} start time of rerun in hh:mm
{reruns[stop]} stop time of rerun in hh:mm
{reruns[channelname]} name of channel on which rerun occurs
{reruns[channelnumber]} number of channel on which rerun occurs
{reruns[channelid]} id of channel on which rerun occurs to display channel logo
{reruns[channellogoexists]} true if channel logo exists
{epgpic1avaialble} true if first epg picture is available
{epgpic2avaialble} true if first epg picture is available
{epgpic3avaialble} true if first epg picture is available
{epgpic1path} path of first epg picture
{epgpic2path} path of second epg picture
{epgpic3path} path of third epg picture
{ismovie} true if event is scraped as a movie
Available variables for movies:
{movietitle} movie title from themoviedb
{movieoriginalTitle} movie original title from themoviedb
{movietagline} movie tagline from themoviedb
{movieoverview} movie overview from themoviedb
{movieadult} true if movie is rated as adult
{moviebudget} movie budget from themoviedb in $
{movierevenue} movie revenue from themoviedb in $
{moviegenres} movie genres from themoviedb
{moviehomepage} movie homepage from themoviedb
{moviereleasedate} movie release date from themoviedb
{movieruntime} movie runtime from themoviedb
{moviepopularity} movie popularity from themoviedb
{movievoteaverage} movie vote average from themoviedb
{posterwidth} width of scraped poster
{posterheight} height of scraped poster
{posterpath} absolute path of scraped poster
{fanartwidth} width of scraped fanart
{fanartheight} height of scraped fanart
{fanartpath} absolute path of scraped fanart
{movieiscollection} true if movie is part of a collection
{moviecollectionName} name of movie collection
{collectionposterwidth} width of scraped collection poster
{collectionposterheight} height of scraped collection poster
{collectionposterpath} absolute path of scraped collection poster
{collectionfanartwidth} width of scraped collection fanart
{collectionfanartheight} height of scraped collection fanart
{collectionfanartpath} absolute path of scraped collection fanart
{actors[]} array with movie actors
{actors[name]} real name of actor
{actors[role]} actor role
{actors[thumb]} absolute path of scraped actor thumb
{actors[thumbwidth]} width of scraped actor thumb
{actors[thumbheight]} height of scraped actor thumb
{isseries} true if event is scraped as a series
Available variables for series:
{seriesname} name of series
{seriesoverview} series overview
{seriesfirstaired} first aired date
{seriesnetwork} network which produces series
{seriesgenre} series genre
{seriesrating} series thetvdb rating
{seriesstatus} status of series (running / finished)
{episodetitle} title of episode
{episodenumber} number of episode
{episodeseason} season of episode
{episodefirstaired} first aired date of episode
{episodegueststars} guest stars of episode
{episodeoverview} episode overview
{episoderating} user rating for episode
{episodeimagewidth} episode image width
{episodeimageheight} episode image height
{episodeimagepath} episode image path
{seasonposterwidth} episode season poster width
{seasonposterheight} episode season poster height
{seasonposterpath} episode season poster path
{seriesposter1width} width of 1st poster
{seriesposter1height} height of 1st poster
{seriesposter1path} path of 1st poster
{seriesposter2width} width of 2nd poster
{seriesposter2height} height of 2nd poster
{seriesposter2path} path of 2nd poster
{seriesposter3width} width of 3rd poster
{seriesposter3height} height of 3rd poster
{seriesposter3path} path of 3rd poster
{seriesfanart1width} width of 1st fanart
{seriesfanart1height} height of 1st fanart
{seriesfanart1path} path of 1st fanart
{seriesfanart2width} width of 2nd fanart
{seriesfanart2height} height of 2nd fanart
{seriesfanart2path} path of 2nd fanart
{seriesfanart3width} width of 3rd fanart
{seriesfanart3height} height of 3rd fanart
{seriesfanart3path} path of 3rd fanart
{seriesbanner1width} width of 1st banner
{seriesbanner1height} height of 1st banner
{seriesbanner1path} path of 1st banner
{seriesbanner2width} width of 2nd banner
{seriesbanner2height} height of 2nd banner
{seriesbanner2path} path of 2nd banner
{seriesbanner3width} width of 3rd banner
{seriesbanner3height} height of 3rd banner
{seriesbanner3path} path of 3rd fanart
{actors[]} array with movie actors
{actors[name]} real name of actor
{actors[role]} actor role
{actors[thumb]} absolute path of scraped actor thumb
{actors[thumbwidth]} width of scraped actor thumb
{actors[thumbheight]} height of scraped actor thumb
-->
<!-- a tab is one scrolling area, just position and draw as inside a normal area -->
<!-- TAB EPGINFO -->
<tab name="EPG Info" x="2%" y="20%" width="94%" height="65%" layer="2" scrollheight="{areaheight}/4">
@@ -331,11 +145,6 @@
<drawimage condition="{movieiscollection}" name="collectionposter" imagetype="image" path="{collectionposterpath}" align="center" y="{posy(collectionfanart)} + {height(collectionfanart)} + 20" width="{areawidth}*0.6" height="{areawidth} * 0.6 * {collectionposterheight} / {collectionposterwidth}"/>
</tab>
<!-- Available Variables tablabels:
{tabs[]} array with available tab labels
{tabs[title]} title of tab
{tabs[current]} true if tab is displayed currently
-->
<tablabels>
<area x="0" y="85%" width="98%" height="5%" layer="3">
<loop name="tabs" x="0" y="0" orientation="horizontal">
@@ -346,4 +155,4 @@
</loop>
</area>
</tablabels>
</menudetailedepg>
</menudetailedepg>

View File

@@ -21,28 +21,7 @@
<fill color="{clrTransparent}" />
</area>
</datetime>
<!-- Available Variables colorbuttons:
{red1} true if red button is button 1
{red2} true if red button is button 2
{red3} true if red button is button 3
{red4} true if red button is button 4
{green1} true if green button is button 1
{green2} true if green button is button 2
{green3} true if green button is button 3
{green4} true if green button is button 4
{yellow1} true if yellow button is button 1
{yellow2} true if yellow button is button 2
{yellow3} true if yellow button is button 3
{yellow4} true if yellow button is button 4
{blue1} true if blue button is button 1
{blue2} true if blue button is button 2
{blue3} true if blue button is button 3
{blue4} true if blue button is button 4
{red} label of red button
{green} label of green button
{yellow} label of yellow button
{blue} label of blue button
-->
<colorbuttons>
<area x="0" y="92%" width="25%" height="8%" layer="2">
<drawtext condition="{red1}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{red}" />
@@ -85,34 +64,7 @@
<drawrectangle condition="{blue4}" x="0" y="0" width="10" height="100%" color="{clrBlue}" />
</area>
</colorbuttons>
<!-- Available Variables in detailheader elements:
{name} full name of recording (including folders)
{epgname} Name of recording (Name from EPG)
{shorttext} shorttext of recording
{date} date of recording in dd.mm.yy
{time} time of current recording in hh:mm
{daynumeric} day as number
{month} month as number
{year} year as number
{duration} real duration of recording in minutes
{durationhours} real duration, full hours
{durationminutes} real duration, rest of minutes
{durationevent} duration of corresponding event in minutes
{durationeventhours} event duration, full hours
{durationeventminutes} event duration, rest of minutes
{ismovie} true if event is scraped as a movie
{isseries} true if event is scraped as a series
{posteravailable} true if a poster is available
{posterwidth} width of scraped poster
{posterheight} height of scraped poster
{posterpath} absolute path of scraped poster
{banneravailable} true if a banner is available
{bannerwidth} width of banner
{bannerheight} height of banner
{bannerpath} path of banner
{recimgavailable} true if a recording image is available in the recording path
{recimgpath} path of rec image
-->
<detailheader>
<area x="1%" y="0" width="98%" height="20%" layer="3">
<drawimage condition="{isseries}++{banneravailable}++not{recimgavailable}" imagetype="image" path="{bannerpath}" x="{areawidth} - {areawidth}/3 - 10" valign="center" width="{areawidth}/3" height="{areawidth}/3 * {bannerheight} / {bannerwidth}"/>
@@ -124,10 +76,7 @@
<drawtext name="shorttext" x="20" y="{posy(title)} + {height(title)}" font="{light}" fontsize="25%" color="{clrWhite}" text="{shorttext}" />
</area>
</detailheader>
<!-- Available Variables scrollbar:
{height} height in one-tenth of a percent of total height
{offset} offset from top in one-tenth of a percent of total height
-->
<scrollbar>
<area x="98%" y="20%" width="2%" height="65%" layer="3">
<fill color="{clrWhite}" />
@@ -135,132 +84,7 @@
<drawrectangle x="4" y="4 + {areaheight} * {offset} / 1000" width="{areawidth} - 8" height="{areaheight} * {height} / 1000 - 8" color="{clrWhite}" />
</area>
</scrollbar>
<!-- Available Variables in tab elements:
{name} full name of recording (including folders)
{epgname} Name of recording (Name from EPG)
{shorttext} shorttext of recording
{description} description of recording
{date} date of recording in dd.mm.yy
{time} time of recording in hh:mm
{daynumeric} day as number
{month} month as number
{year} year as number
{duration} real duration of recording in minutes
{durationhours} real duration, full hours
{durationminutes} real duration, rest of minutes
{durationevent} duration of corresponding event in minutes
{durationeventhours} event duration, full hours
{durationeventminutes} event duration, rest of minutes
{recordingsize} size of recording (automatically in GB / MB)
{recordingsizecutted} size of cutted recording (automatically in GB / MB)
{recordinglength} length of recording (in hh::mm:ss)
{recordinglengthcutted} length of cutted recording (in hh::mm:ss)
{recordingbitrate} bitrate of recording (in MBit/s)
{recordingformat} format of recording (TS / PS)
{searchtimer} name of accordign searchtimer (if available)
{recimg1avaialble} true if first recording image is available
{recimg2avaialble} true if first recording image is available
{recimg3avaialble} true if first recording image is available
{recimg1path} path of first recording image
{recimg2path} path of second recording image
{recimg3path} path of third recording image
{ismovie} true if event is scraped as a movie
Available variables for movies:
{movietitle} movie title from themoviedb
{movieoriginalTitle} movie original title from themoviedb
{movietagline} movie tagline from themoviedb
{movieoverview} movie overview from themoviedb
{movieadult} true if movie is rated as adult
{moviebudget} movie budget from themoviedb in $
{movierevenue} movie revenue from themoviedb in $
{moviegenres} movie genres from themoviedb
{moviehomepage} movie homepage from themoviedb
{moviereleasedate} movie release date from themoviedb
{movieruntime} movie runtime from themoviedb
{moviepopularity} movie popularity from themoviedb
{movievoteaverage} movie vote average from themoviedb
{posterwidth} width of scraped poster
{posterheight} height of scraped poster
{posterpath} absolute path of scraped poster
{fanartwidth} width of scraped fanart
{fanartheight} height of scraped fanart
{fanartpath} absolute path of scraped fanart
{movieiscollection} true if movie is part of a collection
{moviecollectionName} name of movie collection
{collectionposterwidth} width of scraped collection poster
{collectionposterheight} height of scraped collection poster
{collectionposterpath} absolute path of scraped collection poster
{collectionfanartwidth} width of scraped collection fanart
{collectionfanartheight} height of scraped collection fanart
{collectionfanartpath} absolute path of scraped collection fanart
{actors[]} array with movie actors
{actors[name]} real name of actor
{actors[role]} actor role
{actors[thumb]} absolute path of scraped actor thumb
{actors[thumbwidth]} width of scraped actor thumb
{actors[thumbheight]} height of scraped actor thumb
{isseries} true if event is scraped as a series
Available variables for series:
{seriesname} name of series
{seriesoverview} series overview
{seriesfirstaired} first aired date
{seriesnetwork} network which produces series
{seriesgenre} series genre
{seriesrating} series thetvdb rating
{seriesstatus} status of series (running / finished)
{episodetitle} title of episode
{episodenumber} number of episode
{episodeseason} season of episode
{episodefirstaired} first aired date of episode
{episodegueststars} guest stars of episode
{episodeoverview} episode overview
{episoderating} user rating for episode
{episodeimagewidth} episode image width
{episodeimageheight} episode image height
{episodeimagepath} episode image path
{seasonposterwidth} episode season poster width
{seasonposterheight} episode season poster height
{seasonposterpath} episode season poster path
{seriesposter1width} width of 1st poster
{seriesposter1height} height of 1st poster
{seriesposter1path} path of 1st poster
{seriesposter2width} width of 2nd poster
{seriesposter2height} height of 2nd poster
{seriesposter2path} path of 2nd poster
{seriesposter3width} width of 3rd poster
{seriesposter3height} height of 3rd poster
{seriesposter3path} path of 3rd poster
{seriesfanart1width} width of 1st fanart
{seriesfanart1height} height of 1st fanart
{seriesfanart1path} path of 1st fanart
{seriesfanart2width} width of 2nd fanart
{seriesfanart2height} height of 2nd fanart
{seriesfanart2path} path of 2nd fanart
{seriesfanart3width} width of 3rd fanart
{seriesfanart3height} height of 3rd fanart
{seriesfanart3path} path of 3rd fanart
{seriesbanner1width} width of 1st banner
{seriesbanner1height} height of 1st banner
{seriesbanner1path} path of 1st banner
{seriesbanner2width} width of 2nd banner
{seriesbanner2height} height of 2nd banner
{seriesbanner2path} path of 2nd banner
{seriesbanner3width} width of 3rd banner
{seriesbanner3height} height of 3rd banner
{seriesbanner3path} path of 3rd fanart
{actors[]} array with movie actors
{actors[name]} real name of actor
{actors[role]} actor role
{actors[thumb]} absolute path of scraped actor thumb
{actors[thumbwidth]} width of scraped actor thumb
{actors[thumbheight]} height of scraped actor thumb
-->
<!-- a tab is one scrolling area, just position and draw as inside a normal area -->
<tab name="Info" x="2%" y="20%" width="94%" height="65%" layer="2" scrollheight="{areaheight}/4">
<drawtextbox condition="not{isseries}++not{ismovie}" x="0" y="0" width="96%" font="{light}" fontsize="8%" color="{clrWhite}" text="{description}" />
<drawimage condition="{isseries}" name="seriesposter" imagetype="image" path="{seriesposter1path}" x="{areawidth}*0.7" y="0" width="{areawidth}*0.3" height="{areawidth} * 0.3 * {seriesposter1height} / {seriesposter1width}"/>
@@ -308,11 +132,6 @@
<drawimage condition="{movieiscollection}" name="collectionposter" imagetype="image" path="{collectionposterpath}" align="center" y="{posy(collectionfanart)} + {height(collectionfanart)} + 20" width="{areawidth}*0.6" height="{areawidth} * 0.6 * {collectionposterheight} / {collectionposterwidth}"/>
</tab>
<!-- Available Variables tablabels:
{tabs[]} array with available tab labels
{tabs[title]} title of tab
{tabs[current]} true if tab is displayed currently
-->
<tablabels>
<area x="0" y="85%" width="98%" height="5%" layer="3">
<loop name="tabs" x="0" y="0" orientation="horizontal">

View File

@@ -18,28 +18,7 @@
<drawtext align="center" valign="center" font="{light}" fontsize="60%" color="{clrWhite}" text="{time}" />
</area>
</datetime>
<!-- Available Variables colorbuttons:
{red1} true if red button is button 1
{red2} true if red button is button 2
{red3} true if red button is button 3
{red4} true if red button is button 4
{green1} true if green button is button 1
{green2} true if green button is button 2
{green3} true if green button is button 3
{green4} true if green button is button 4
{yellow1} true if yellow button is button 1
{yellow2} true if yellow button is button 2
{yellow3} true if yellow button is button 3
{yellow4} true if yellow button is button 4
{blue1} true if blue button is button 1
{blue2} true if blue button is button 2
{blue3} true if blue button is button 3
{blue4} true if blue button is button 4
{red} label of red button
{green} label of green button
{yellow} label of yellow button
{blue} label of blue button
-->
<colorbuttons>
<area x="0" y="92%" width="25%" height="8%" layer="2">
<drawtext condition="{red1}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{red}" />
@@ -90,10 +69,7 @@
</area>
</scrollbar>
<!-- Available Variables in tab elements:
{text} detailed text
-->
<tab name="text" x="2%" y="10%" width="94%" height="80%" layer="2" scrollheight="{areaheight}/4">
<drawtextbox x="0" y="0" width="96%" font="{light}" fontsize="5%" color="{clrWhite}" text="{text}" />
</tab>
</menudetailedtext>
</menudetailedtext>

View File

@@ -1,7 +1,4 @@
<menumain x="0" y="0" width="100%" height="100%" fadetime="0">
<!--
static content of main menu, is only drawn once at main menu startup
-->
<background>
<!-- main menu background -->
<area x="0" y="0" width="71%" height="70%" layer="1">
@@ -13,26 +10,13 @@
<drawrectangle x="53%" y="0" width="47%" height="100%" color="{clrTransBlack}" />
</area>
</background>
<!-- Available Variables header:
{title} title of current menu
{vdrversion} running VDR Version
-->
<header>
<area x="0" y="0" width="70%" height="7%" layer="2">
<drawtext x="10" valign="center" font="{light}" fontsize="100%" color="{clrWhite}" text="{title} {vdrversion}" />
</area>
</header>
<!-- Available Variables datetime:
{time} time in hh:mm
{day} day in digits
{dayleadingzero} day in digits with leading 0
{dayname} Full name of the day
{daynameshort} Short 3 char name of the day
{month} month in digits with leading 0
{monthname} Full name of the month
{monthnameshort} 3 letter abbrivation of month name
{year} year in yyyy
-->
<datetime>
<area x="75%" y="0" width="13%" height="10%" layer="3">
<drawtext align="right" y="0%" font="{light}" fontsize="55%" color="{clrWhite}" text="{dayname}" />
@@ -43,28 +27,6 @@
</area>
</datetime>
<!-- Available Variables colorbuttons:
{red1} true if red button is button 1
{red2} true if red button is button 2
{red3} true if red button is button 3
{red4} true if red button is button 4
{green1} true if green button is button 1
{green2} true if green button is button 2
{green3} true if green button is button 3
{green4} true if green button is button 4
{yellow1} true if yellow button is button 1
{yellow2} true if yellow button is button 2
{yellow3} true if yellow button is button 3
{yellow4} true if yellow button is button 4
{blue1} true if blue button is button 1
{blue2} true if blue button is button 2
{blue3} true if blue button is button 3
{blue4} true if blue button is button 4
{red} label of red button
{green} label of green button
{yellow} label of yellow button
{blue} label of blue button
-->
<colorbuttons>
<area x="0" y="63%" width="18%" height="7%" layer="2">
<drawtext condition="{red1}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{red}" />
@@ -107,20 +69,7 @@
<drawrectangle condition="{blue4}" x="0" y="0" width="10" height="100%" color="{clrBlue}" />
</area>
</colorbuttons>
<!-- Available Variables timers:
{numtimers} number of active timers (max. 15 timers will be displayed)
{numtimerconflicts} number of current timer conflicts
{timers[]} array with active timers (local and remote if remotetimers plugin is in use)
{timers[title]} title of timer
{timers[datetime]} date and time of timer
{timers[recording]} true if timer is recording currently
{timers[channelname]} name of channel for which timer is created
{timers[channelnumber]} number of channel
{timers[channelid]} ChannelID of channel
{timers[channellogoexists]} true if channel logo exists
{timers[isremotetimer]} true if timer is a remote timer from remotetimers plugin
-->
<timers detached="true" delay="100" shifttime="{shifttimetimers}" startx="0" starty="100%">
<area x="0" y="75%" width="{areawidth}/8 - 5" height="25%" layer="1">
<fill color="{clrTransBlack}" />
@@ -167,14 +116,6 @@
</area>
</timers>
<!-- Available Variables discusage:
{freetime} available disc capacity in hh:mm
{freepercent} available disc capacity in percent
{usedpercent} used disc capacity in percent
{freegb} available disc capacity in gigabytes
{discalert} true if disc usage is > 95%
{vdrusagestring} localized VDR internal usage string
-->
<discusage detached="true" delay="100" fadetime="0">
<area background="true" x="75%" y="26%" width="25%" height="10%" layer="1">
<fill condition="not{discalert}" color="{clrTransBlack}"/>
@@ -187,26 +128,6 @@
</area>
</discusage>
<!-- Available Variables currentweather:
{timestamp} timestamp of forecast in dd.mm hh:mm
{temperature} current temperature in °C
{apparenttemperature} apparent (feeled) temperature
{mintemperature} minimum daily temperature in °C
{maxtemperature} maximum daily temperature in °C
{summary} short weather summary
{icon} weather icon
{precipitationintensity} precipitation intensity in l/m2
{precipitationprobability} precipitation probability in %
{precipitationtype} precipitation type
{humidity} humidity in %
{windspeed} windspeed in km/h
{windbearing} wind bearing in °
{windbearingstring} wind bearing (N, NE, ...)
{visibility} visibility in km
{cloudcover} cloud cover in %
{pressure} pressure in HPo
{ozone} ozone value in DU
-->
<currentweather detached="true" delay="100" fadetime="0">
<area x="75%" y="13%" width="25%" height="10%" layer="2">
<drawrectangle x="0" y="0" width="53%" height="100%" color="{clrTransBlueLight}" />
@@ -224,23 +145,6 @@
</area>
</currentweather>
<!-- Available Variables devices:
{numdevices} number of available devices
{devices[]} array with available devices
{devices[num]} number of current device
{devices[type]} type of device (DVB-S, DVB-C, ...)
{devices[istuned]} true if device is currently tuned to a transponder
{devices[livetv]} true if device is currently playing livetv
{devices[recording]} true if device is currently recording
{devices[hascam]} true if device has a CAM
{devices[cam]} number of CAM
{devices[signalstrength]} signalstrength of devcie
{devices[signalquality]} signalstrength of devcie
{devices[channelnumber]} number of the currently tuned channel
{devices[channelname]} name of the currently tuned channel
{devices[channelid]} ID of the currently tuned channel
{devices[source]} source of the currently tuned channel
-->
<devices condition="{showdevices}" detached="true" delay="100" fadetime="0">
<area background="true" x="75%" y="48%" width="25%" height="{areaheight}/12 * {numdevices}" layer="1">
<fill color="{clrTransBlack}"/>
@@ -259,9 +163,6 @@
</area>
</devices>
<!-- Available Variables systemload:
{load} current system load
-->
<systemload detached="true" delay="100" fadetime="0">
<area background="true" x="75%" y="40%" width="25%" height="5%" layer="1">
<fill color="{clrTransBlack}"/>
@@ -271,23 +172,10 @@
</area>
</systemload>
<!-- Available Variables customtokens:
all custom tokens set by the svdrp command SCTK are available in this viewelement
For instance, use an appropriate script which runs periodically as cronjob and
sets these custom tokens with svdrpsend or dbus2vdr
-->
<customtokens>
</customtokens>
<menuitems x="0" y="7%" orientation="vertical" width="70%" height="56%" align="center" numlistelements="8">
<!-- Available Variables main menu listelement:
{nummenuitem} number of item in list, starts with 1
{label} label of menu item
{number} number of menu item (or empty string if not set)
{icon} path of appropriate icon
{current} true if item is currently selected
{separator} true if item is a list separator
-->
<menuitems condition="strequal({mainmenuorientation}, 'vertical')" x="0" y="7%" orientation="vertical" width="70%" height="56%" align="center" numlistelements="8">
<listelement>
<area x="0" width="60%" layer="2">
<fill condition="not{current}" color="{clrTransparent}" />
@@ -297,12 +185,6 @@
<drawtext name="menutext" x="20" valign="center" font="{light}" fontsize="90%" color="{clrWhite}" text="{number} {label}" />
</areascroll>
</listelement>
<!-- additional element which is drawn for current element -->
<!-- Available Variables main menu currentelement:
{label} label of menu item
{number} number of menu item (or empty string if not set)
{icon} path of appropriate icon
-->
<currentelement delay="50" fadetime="0">
<area x="61%" y="22%" width="36%" height="52%" layer="2">
<fill color="{clrTransBlueLight}" />
@@ -312,8 +194,30 @@
</area>
</currentelement>
</menuitems>
<scrollbar>
<menuitems condition="strequal({mainmenuorientation}, 'horizontal')" x="0" y="7%" orientation="horizontal" width="70%" height="56%" align="center" numlistelements="1">
<listelement>
<area y="10%" height="80%" layer="2">
<drawrectangle condition="{current}" x="20%" y="0" width="60%" height="100%" color="{clrTransBlueLight}" />
</area>
<area y="10%" height="80%" layer="3">
<drawimage condition="{current}" imagetype="menuicon" path="{icon}" align="center" y="10%" width="{areaheight}*0.6" height="{areaheight}*0.6"/>
</area>
<areascroll scrollelement="menutext" mode="forthandback" orientation="horizontal" delay="1000" scrollspeed="medium" y="70%" height="20%" layer="4">
<drawtext name="menutext" align="center" valign="center" font="{light}" fontsize="90%" color="{clrWhite}" text="{label}" />
</areascroll>
</listelement>
</menuitems>
<scrollbar condition="strequal({mainmenuorientation}, 'horizontal')">
<area condition="{hasprev}" x="0" y="7%" width="14%" height="56%" layer="2">
<drawimage imagetype="icon" path="ico_arrow_left" align="center" valign="center" width="{areawidth}*0.8" height="{areawidth}*0.8"/>
</area>
<area condition="{hasnext}" x="56%" y="7%" width="14%" height="56%" layer="2">
<drawimage imagetype="icon" path="ico_arrow_right" align="center" valign="center" width="{areawidth}*0.8" height="{areawidth}*0.8"/>
</area>
</scrollbar>
<scrollbar condition="strequal({mainmenuorientation}, 'vertical')">
<area x="68%" y="7%" width="2%" height="56%" layer="2">
<fill color="{clrWhite}" />
<drawrectangle x="2" y="2" width="{areawidth} - 4" height="{areaheight} - 4" color="{clrTransparent}" />

View File

@@ -1,39 +1,49 @@
<menurecordings x="0" y="0" width="100%" height="100%" fadetime="0">
<menuitems x="0" y="10%" orientation="vertical" width="100%" height="82%" align="center" numlistelements="16">
<!-- Available Variables recordings menu listelement:
{nummenuitem} number of item in list, starts with 1
{name} Name of recording
{epgname} Name of recording (Name from EPG)
{shorttext} Short Text of recording
{description} Descrption of recording
{date} Date of recording (day dd.mm.yyyy)
{time} Time of recording
{daynumeric} day as number
{month} month as number
{year} year as number
{duration} real duration of recording in minutes
{durationhours} real duration, full hours
{durationminutes} real duration, rest of minutes
{durationevent} duration of corresponding event in minutes
{durationeventhours} event duration, full hours
{durationeventminutes} event duration, rest of minutes
{current} true if item is currently selected
{new} true if recording is new
{percentseen} percent already watched, -1 for VDR < 2.1.8
{watched} true if percentseen > 85% including MarginStop of not cutted recording
{cutted} true if recording is cutted
{folder} true if item is a folder
{numrecordingsfolder} if item is a folder, number of recordings in this folder
{newrecordingsfolder} if item is a folder, number of new recordings in this folder
{hasposterthumbnail} true if a scraped poster thumbnail is available for recording
{thumbnailbwidth} width of scraped poster thumbnail
{thumbnailheight} height of scraped poster thumbnail
{thumbnailpath} absolute path of scraped poster thumbnail
{hasposter} true if a scraped poster is available for recording
{posterwidth} width of scraped poster
{posterheight} height of scraped poster
{posterpath} absolute path of scraped poster
-->
<background condition="strequal({recmenuorientation}, 'horizontal')">
<!-- horizontal menu -->
<area x="0" y="0" width="100%" height="10%" layer="1">
<fill color="{clrTransBlack}" />
</area>
<area x="0" y="60%" width="100%" height="40%" layer="1">
<fill color="{clrTransBlack}" />
</area>
<area x="5%" y="10%" width="90%" height="50%" layer="1">
<fill color="{clrTransBlueLight}" />
</area>
</background>
<header condition="strequal({recmenuorientation}, 'horizontal')">
<!-- horizontal menu -->
<area x="0" y="0" width="70%" height="10%" layer="2">
<drawtext condition="not{hasicon}" x="5" width="{areawidth}-10" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{title}" />
<drawimage condition="{hasicon}" name="menuicon" imagetype="menuicon" path="{icon}" x="5" valign="center" width="{areaheight}*8/10" height="80%"/>
<drawtext condition="{hasicon}" x="{areaheight}" valign="center" width="{areawidth}-{areaheight}-10" font="{light}" fontsize="80%" color="{clrWhite}" text="{title}" />
</area>
</header>
<datetime condition="strequal({recmenuorientation}, 'horizontal')">
<!-- horizontal menu -->
<area x="70%" y="0" width="15%" height="10%" layer="2">
<drawtext align="right" y="5%" font="{light}" fontsize="50%" color="{clrWhite}" text="{dayname}" />
<drawtext align="right" y="45%" font="{light}" fontsize="50%" color="{clrWhite}" text="{day}. {monthnameshort}" />
</area>
<area x="85%" y="0" width="15%" height="10%" layer="2">
<drawtext align="center" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{time}" />
</area>
</datetime>
<sortmode condition="strequal({recmenuorientation}, 'horizontal')">
<!-- horizontal menu -->
<area x="60%" y="2%" width="6%" height="6%" layer="4">
<drawimage condition="{sortnumber}" imagetype="icon" path="ico_sort_number" x="0" y="0" width="100%" height="100%"/>
<drawimage condition="{sortname}" imagetype="icon" path="ico_sort_name" x="0" y="0" width="100%" height="100%"/>
<drawimage condition="{sorttime}" imagetype="icon" path="ico_sort_time" x="0" y="0" width="100%" height="100%"/>
<drawimage condition="{sortprovider}" imagetype="icon" path="ico_sort_provider" x="0" y="0" width="100%" height="100%"/>
</area>
</sortmode>
<menuitems condition="strequal({recmenuorientation}, 'vertical')" x="0" y="10%" orientation="vertical" width="100%" height="82%" align="center" numlistelements="16">
<listelement>
<!-- Background -->
<area x="1%" width="58%" layer="2">
@@ -55,33 +65,6 @@
<drawimage condition="not{new}++{cutted}" imagetype="icon" path="ico_cutted" x="{areawidth} - {areaheight}" width="0.9*{areaheight}" height="0.9*{areaheight}" valign="center" />
</area>
</listelement>
<!-- additional element which is drawn for current element -->
<!-- Available Variables channels menu currentelement:
{name} Real Name of recording (Name of Recording Folder)
{epgname} Name of recording (Name from EPG)
{shorttext} Short Text of recording
{description} Descrption of recording
{date} Date of recording
{time} Time of recording
{daynumeric} day as number
{month} month as number
{year} year as number
{duration} real duration of recording in minutes
{durationhours} real duration, full hours
{durationminutes} real duration, rest of minutes
{durationevent} duration of corresponding event in minutes
{durationeventhours} event duration, full hours
{durationeventminutes} event duration, rest of minutes
{new} true if recording is new
{cutted} true if recording is cutted
{folder} true if item is a folder
{numrecordingsfolder} if item is a folder, number of recordings in this folder
{newrecordingsfolder} if item is a folder, number of new recordings in this folder
{hasposter} true if a scraped poster is available for recording
{posterwidth} width of scraped poster
{posterheight} height of scraped poster
{posterpath} absolute path of scraped poster
-->
<currentelement delay="500" fadetime="0">
<area x="63%" y="0" width="36%" height="100%" layer="2">
<!-- header -->
@@ -96,15 +79,104 @@
</area>
</currentelement>
</menuitems>
<!-- Available Variables colorbuttons:
{height} height in one-tenth of a percent of total height
{offset} offset from top in one-tenth of a percent of total height
-->
<scrollbar>
<menuitems condition="strequal({recmenuorientation}, 'horizontal')" x="0" y="10%" orientation="horizontal" width="100%" height="82%" align="center" numlistelements="10">
<listelement>
<!-- Background -->
<area y="64%" height="36%" layer="2">
<fill condition="not{current}" color="{clrTransparent}" />
<fill condition="{current}" color="{clrTransBlueLight}" />
<fill condition="{separator}" color="{clrSemiTransBlack}" />
</area>
<!-- recording folder -->
<area condition="{folder}" y="64%" height="36%" layer="3">
<drawimage name="foldericon" imagetype="icon" path="ico_recfolder" align="center" y="0" width="0.6*{areaheight} * 92 / 136" height="0.6*{areaheight}" />
<drawtextbox align="center" valign="center" maxlines="3" x="1%" y="63%" width="98%" height="37%" font="{light}" fontsize="12%" color="{clrWhite}" text="{name} ({numrecordingsfolder}, {newrecordingsfolder} new)" />
</area>
<!-- recording item -->
<area condition="not{folder}" y="64%" height="36%" layer="3">
<drawimage condition="{hasposterthumbnail}" imagetype="image" path="{thumbnailpath}" align="center" y="8" width="{areaheight}*0.6 * {thumbnailbwidth} / {thumbnailheight}" height="{areaheight}*0.6"/>
<drawimage condition="not{hasposterthumbnail}" imagetype="icon" path="ico_recording" align="center" y="8" width="{areaheight}*0.5 * {thumbnailbwidth} / {thumbnailheight}" height="{areaheight}*0.6"/>
<drawtextbox align="center" valign="center" maxlines="3" x="1%" y="63%" width="98%" height="37%" font="{light}" fontsize="12%" color="{clrWhite}" text="{name}" />
</area>
</listelement>
<currentelement delay="500" fadetime="0">
<area x="5%" y="0" width="90%" height="61%" layer="2">
<!-- scraper poster -->
<drawimage condition="{hasposter}" name="poster" imagetype="image" path="{posterpath}" x="1%" y="2%" width="{areaheight}*0.96 * {posterwidth} / {posterheight}" height="96%"/>
<!-- header -->
<drawtext condition="{hasposter}" name="title" x="{width(poster)} + 0.04*{areawidth}" y="0" font="{semibold}" fontsize="10%" color="{clrWhite}" text="{epgname}" />
<drawtext condition="{hasposter}" name="shorttext" x="{width(poster)} + 0.04*{areawidth}" y="{height(title)}" width="0.96*{areawidth} - {width(poster)}" font="{semibold}" fontsize="8%" color="{clrWhite}" text="{shorttext}" />
<drawtext condition="{hasposter}" name="datetime" x="{width(poster)} + 0.04*{areawidth}" y="{posy(shorttext)} + {height(shorttext)}" font="{light}" fontsize="7%" color="{clrWhite}" text="{date} {time}, {duration} min" />
<drawtext condition="not{hasposter}" name="title" x="2%" y="0" font="{semibold}" fontsize="10%" color="{clrWhite}" text="{epgname}" />
<drawtext condition="not{hasposter}" name="shorttext" x="2%" y="{height(title)}" width="98%" font="{semibold}" fontsize="8%" color="{clrWhite}" text="{shorttext}" />
<drawtext condition="not{hasposter}" name="datetime" x="2%" y="{posy(shorttext)} + {height(shorttext)}" font="{light}" fontsize="7%" color="{clrWhite}" text="{date} {time}, {duration} min" />
<!-- description -->
<drawtextbox condition="{hasposter}" x="{width(poster)} + 0.04*{areawidth}" y="{posy(datetime)} + {height(datetime)} + 10" width="{areawidth}*0.94 - {width(poster)}" height="{areaheight}*0.92 - {posy(datetime)}" font="{light}" fontsize="7%" color="{clrWhite}" text="{description}" />
<drawtextbox condition="not{hasposter}" x="2%" y="{posy(datetime)} + {height(datetime)} + 10" width="{areawidth}*0.98" height="{areaheight}*0.92 - {posy(datetime)}" font="{light}" fontsize="7%" color="{clrWhite}" text="{description}" />
</area>
</currentelement>
</menuitems>
<scrollbar condition="strequal({recmenuorientation}, 'vertical')">
<area x="60%" y="10%" width="2%" height="82%" layer="3">
<fill color="{clrWhite}" />
<drawrectangle x="2" y="2" width="{areawidth} - 4" height="{areaheight} - 4" color="{clrTransparent}" />
<drawrectangle x="4" y="4 + {areaheight} * {offset} / 1000" width="{areawidth} - 8" height="{areaheight} * {height} / 1000 - 8" color="{clrWhite}" />
</area>
</scrollbar>
</menurecordings>
<scrollbar condition="strequal({recmenuorientation}, 'horizontal')">
<area x="0" y="{areaheight}*0.6" width="100%" height="{areaheight}*0.025" layer="3">
<fill color="{clrWhite}" />
<drawrectangle x="2" y="2" width="{areawidth} - 4" height="{areaheight} - 4" color="{clrTransparent}" />
<drawrectangle x="4 + {areawidth} * {offset} / 1000" y="4" width="{areawidth} * {height} / 1000 - 8" height="{areaheight} - 8" color="{clrWhite}" />
</area>
</scrollbar>
<colorbuttons condition="strequal({recmenuorientation}, 'horizontal')">
<!-- horizontal menu -->
<area x="0" y="92%" width="25%" height="8%" layer="2">
<drawtext condition="{red1}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{red}" />
<drawrectangle condition="{red1}" x="0" y="0" width="10" height="100%" color="{clrRed}" />
<drawtext condition="{green1}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{green}" />
<drawrectangle condition="{green1}" x="0" y="0" width="10" height="100%" color="{clrGreen}" />
<drawtext condition="{yellow1}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{yellow}" />
<drawrectangle condition="{yellow1}" x="0" y="0" width="10" height="100%" color="{clrYellow}" />
<drawtext condition="{blue1}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{blue}" />
<drawrectangle condition="{blue1}" x="0" y="0" width="10" height="100%" color="{clrBlue}" />
</area>
<area x="25%" y="92%" width="25%" height="8%" layer="2">
<drawtext condition="{red2}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{red}" />
<drawrectangle condition="{red2}" x="0" y="0" width="10" height="100%" color="{clrRed}" />
<drawtext condition="{green2}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{green}" />
<drawrectangle condition="{green2}" x="0" y="0" width="10" height="100%" color="{clrGreen}" />
<drawtext condition="{yellow2}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{yellow}" />
<drawrectangle condition="{yellow2}" x="0" y="0" width="10" height="100%" color="{clrYellow}" />
<drawtext condition="{blue2}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{blue}" />
<drawrectangle condition="{blue2}" x="0" y="0" width="10" height="100%" color="{clrBlue}" />
</area>
<area x="50%" y="92%" width="25%" height="8%" layer="2">
<drawtext condition="{red3}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{red}" />
<drawrectangle condition="{red3}" x="0" y="0" width="10" height="100%" color="{clrRed}" />
<drawtext condition="{green3}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{green}" />
<drawrectangle condition="{green3}" x="0" y="0" width="10" height="100%" color="{clrGreen}" />
<drawtext condition="{yellow3}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{yellow}" />
<drawrectangle condition="{yellow3}" x="0" y="0" width="10" height="100%" color="{clrYellow}" />
<drawtext condition="{blue3}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{blue}" />
<drawrectangle condition="{blue3}" x="0" y="0" width="10" height="100%" color="{clrBlue}" />
</area>
<area x="75%" y="92%" width="25%" height="8%" layer="2">
<drawtext condition="{red4}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{red}" />
<drawrectangle condition="{red4}" x="0" y="0" width="10" height="100%" color="{clrRed}" />
<drawtext condition="{green4}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{green}" />
<drawrectangle condition="{green4}" x="0" y="0" width="10" height="100%" color="{clrGreen}" />
<drawtext condition="{yellow4}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{yellow}" />
<drawrectangle condition="{yellow4}" x="0" y="0" width="10" height="100%" color="{clrYellow}" />
<drawtext condition="{blue4}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{blue}" />
<drawrectangle condition="{blue4}" x="0" y="0" width="10" height="100%" color="{clrBlue}" />
</area>
</colorbuttons>
</menurecordings>

View File

@@ -1,18 +1,4 @@
<menuschedules x="0" y="0" width="100%" height="100%" fadetime="0">
<!-- Available Variables header:
{title} title of current menu
{vdrversion} running VDR Version
{hasicon} true if a menu icon is available
{icon} path of menu icon
{channelnumber} Number of Channel of current event
{channelname} Name of current Channel of current event
{channellogoexists} true if a channel logo exists
{channelid} ChannelID as path to display channel logo
{whatson} true if menu "What's on" is displayed
{whatsonnow} true if menu "What's on now" is displayed
{whatsonnext} true if menu "What's on next" is displayed
{whatsonfavorites} true if EPGSearch Favorites menu is displayed
-->
<header>
<area x="0" y="0" width="38%" height="10%" layer="2">
<drawimage condition="{whatsonnow}||{whatsonnext}||{whatsonfavorites}" name="menuicon" imagetype="menuicon" path="{icon}" x="5" valign="center" width="{areaheight}*8/10" height="80%"/>
@@ -23,36 +9,6 @@
</header>
<menuitems x="0" y="10%" orientation="vertical" width="100%" height="82%" align="center" numlistelements="16">
<!-- Available Variables schedules menu listelement:
{nummenuitem} number of item in list, starts with 1
{title} title of event
{shorttext} shorttext of event
{start} event start time in hh::mm
{stop} event stop time
{day} day of current event as three letter abrivation
{date} date of current event in dd.mm.yy
{daynumeric} day as number
{month} month as number
{year} year as number
{running} true if event is currently running
{elapsed} elapsed time of event, if not running 0
{duration} duration of event
{durationhours} duration, full hours
{durationminutes} duration, rest of minutes
{current} true if item is currently selected
{separator} true if item is a list separator
{channelname} Channel Name
{channelnumber} Channel Number
{channelid} ChannelID as path to display channel logo
{channellogoexists} true if a channel logo exists
{whatson} true if menu "What's on" is displayed
{whatsonnow} true if menu "What's on now" is displayed
{whatsonnext} true if menu "What's on next" is displayed
{whatsonfavorites} true if EPGSearch Favorites menu is displayed
{timerpartitial} true if partitial timer is set for the event
{timerfull} true if full timer is set for the event
{hasVPS} true if event has VPS information
-->
<listelement>
<!-- Background -->
<area x="1%" width="58%" layer="2">
@@ -132,42 +88,6 @@
<drawtext x="20" valign="center" font="{light}" fontsize="95%" color="{clrBlueLight}" text="{title}" />
</area>
</listelement>
<!-- additional element which is drawn for current element -->
<!-- Available Variables schedules menu currentelement:
{title} title of event
{shorttext} shorttext of event
{description} detailed description of event
{start} event start time in hh::mm
{stop} event stop time
{day} day of current event
{date} date of current event in dd.mm.yy
{daynumeric} day as number
{month} month as number
{year} year as number
{running} true if event is currently running
{elapsed} elapsed time of event, if not running 0
{duration} duration of event
{durationhours} duration, full hours
{durationminutes} duration, rest of minutes
{channelname} Channel Name
{channelnumber} Channel Number
{channelid} ChannelID as path to display channel logo
{channellogoexists} true if a channel logo exists
{hasposter} true if a scraped poster is available for this element
{posterwidth} width of scraped poster
{posterheight} height of scraped poster
{posterpath} absolute path of scraped poster
{timerpartitial} true if partitial timer is set for the event
{timerfull} true if full timer is set for the event
{whatson} true if menu "What's on" is displayed
{whatsonnow} true if menu "What's on now" is displayed
{whatsonnext} true if menu "What's on next" is displayed
{schedule[]} array with next 10 schedules, only for whatsonnow and whatsonnext
{schedule[title]} title of event
{schedule[shorttext]} shorttext of event
{schedule[start]} start time of event in hh:mm
{schedule[stop]} stop time of event in hh:mm
-->
<currentelement delay="500" fadetime="0">
<area condition="{whatson}" x="63%" y="0" width="36%" height="100%" layer="2">
<!-- title -->
@@ -211,10 +131,7 @@
</areacontainer>
</currentelement>
</menuitems>
<!-- Available Variables scrollbar:
{height} height in one-tenth of a percent of total height
{offset} offset from top in one-tenth of a percent of total height
-->
<scrollbar>
<area x="60%" y="10%" width="2%" height="82%" layer="3">
<fill color="{clrWhite}" />
@@ -222,4 +139,4 @@
<drawrectangle x="4" y="4 + {areaheight} * {offset} / 1000" width="{areawidth} - 8" height="{areaheight} * {height} / 1000 - 8" color="{clrWhite}" />
</area>
</scrollbar>
</menuschedules>
</menuschedules>

View File

@@ -1,7 +1,4 @@
<menusetup x="0" y="0" width="100%" height="100%" fadetime="0">
<!--
static content of main menu, is only drawn once at main menu startup
-->
<background>
<area x="0" y="0" width="100%" height="100%" layer="1">
<fill color="{clrTransBlack}" />
@@ -10,27 +7,14 @@
<drawrectangle x="0" y="0" width="52%" height="100%" color="{clrTransBlueLight}" />
</area>
</background>
<!-- Available Variables header:
{title} title of current menu
{vdrversion} running VDR Version
{icon} icon path
-->
<header>
<area x="0" y="0" width="70%" height="7%" layer="2">
<drawimage name="menuicon" imagetype="menuicon" path="{icon}" x="5" valign="center" width="{areaheight}*8/10" height="80%"/>
<drawtext x="{areaheight}" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{title}" />
</area>
</header>
<!-- Available Variables datetime:
{time} time in hh:mm
{day} day in digits
{dayleadingzero} day in digits with leading 0
{dayname} Full name of the day
{daynameshort} Short 3 char name of the day
{month} month in digits with leading 0
{monthname} Full name of the month
{year} year in yyyy
-->
<datetime>
<area x="84%" y="0" width="8%" height="7%" layer="3">
<drawtext align="right" y="0%" font="{light}" fontsize="55%" color="{clrWhite}" text="{dayname}" />
@@ -41,12 +25,6 @@
</area>
</datetime>
<!-- Available Variables colorbuttons:
{red} label of red button
{green} label of green button
{yellow} label of yellow button
{blue} label of blue button
-->
<colorbuttons>
<area x="0" y="93%" width="25%" height="7%" layer="2">
<drawtext x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{red}" />
@@ -67,14 +45,6 @@
</colorbuttons>
<menuitems x="0" y="7%" orientation="vertical" width="98%" height="86%" align="center" numlistelements="10">
<!-- Available Variables setup menu listelement:
{nummenuitem} number of item in list, starts with 1
{label} label of menu item
{number} number of menu item (or empty string if not set)
{icon} path of appropriate icon
{current} true if item is currently selected
{separator} true if item is a list separator
-->
<listelement>
<area x="0" width="60%" layer="2">
<fill condition="not{current}" color="{clrTransparent}" />
@@ -84,12 +54,6 @@
<drawtext name="menutext" x="20" valign="center" font="{light}" fontsize="90%" color="{clrWhite}" text="{number} {label}" />
</areascroll>
</listelement>
<!-- additional element which is drawn for current element -->
<!-- Available Variables main menu currentelement:
{label} label of menu item
{number} number of menu item (or empty string if not set)
{icon} path of appropriate icon
-->
<currentelement delay="50" fadetime="0">
<area x="61%" y="30%" width="37%" height="36%" layer="2">
<fill color="{clrTransBlueLight}" />

View File

@@ -1,28 +1,5 @@
<menutimers x="0" y="0" width="100%" height="100%" fadetime="0">
<menuitems x="0" y="10%" orientation="vertical" width="100%" height="82%" align="center" numlistelements="16">
<!-- Available Variables channels menu listelement:
{nummenuitem} number of item in list, starts with 1
{title} Title of Timer
{timerstart} Start Time of Timer in hh::mm
{timerstop} End Time of Timer in hh::mm
{day} Day (numerical)
{dayname} Day, for repeating timers days where timer is active
{month} Month (two digits)
{monthname} Month, three letter abbrevation
{year} Year (4 digits)
{channelname} Name of channel which is set for the timer
{channelid} ID of channel which is set for the timer (for dispalying channel logo)
{channelnumber} Number of channel which is set for the timer
{eventtitle} Title of corresponding event
{eventstart} Start Time of corresponding event in hh::mm
{eventstop} Stop Time of corresponding event in hh::mm
{current} true if item is currently selected
{flagactive} true if timer is active
{flaginstant} true if timer is an instant timer
{flagvps} true if timer uses VPS
{flagrecording} true if is recording currently
{flagpending} true if timer is pending
-->
<listelement>
<!-- Background -->
<area x="1%" width="58%" layer="2">
@@ -38,34 +15,6 @@
<drawtext name="timertext" x="10" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{dayname} {day}. {timerstart} - {timerstop}: {title}" />
</areascroll>
</listelement>
<!-- additional element which is drawn for current element -->
<!-- Available Variables channels menu currentelement:
{title} Title of Timer
{timerstart} Start Time of Timer in hh::mm
{timerstop} End Time of Timer in hh::mm
{day} Day (numerical)
{dayname} Day, for repeating timers days where timer is active
{month} Month (two digits)
{monthname} Month, three letter abbrevation
{year} Year (4 digits)
{channelname} Name of channel which is set for the timer
{channelid} ID of channel which is set for the timer (for dispalying channel logo)
{channelnumber} Number of channel which is set for the timer
{eventtitle} Title of corresponding event
{eventstart} Start Time of corresponding event in hh::mm
{eventstop} Stop Time of corresponding event in hh::mm
{eventshorttext} Short Text corresponding event
{eventdescription} Description corresponding event
{hasposter} true if a scraped poster is available for event
{posterwidth} width of scraped poster
{posterheight} height of scraped poster
{posterpath} absolute path of scraped poster
{flagactive} true if timer is active
{flaginstant} true if timer is an instant timer
{flagvps} true if timer uses VPS
{flagrecording} true if is recording currently
{flagpending} true if timer is pending
-->
<currentelement delay="500" fadetime="0">
<area x="63%" y="0" width="36%" height="15%" layer="2">
<drawimage name="logo" imagetype="channellogo" path="{channelid}" x="10" y="0" width="30%" height="100%" />
@@ -83,10 +32,7 @@
</area>
</currentelement>
</menuitems>
<!-- Available Variables colorbuttons:
{height} height in one-tenth of a percent of total height
{offset} offset from top in one-tenth of a percent of total height
-->
<scrollbar>
<area x="60%" y="10%" width="2%" height="82%" layer="3">
<fill color="{clrWhite}" />
@@ -94,4 +40,4 @@
<drawrectangle x="4" y="4 + {areaheight} * {offset} / 1000" width="{areawidth} - 8" height="{areaheight} * {height} / 1000 - 8" color="{clrWhite}" />
</area>
</scrollbar>
</menutimers>
</menutimers>

View File

@@ -8,13 +8,6 @@
</area>
</background>
<!-- Available Variables message:
{text} message text
{status} true if message is a status message
{info} true if message is a info message
{warning} true if message is a warn message
{error} true if message is a error message
-->
<message>
<area x="0" y="0" width="100%" height="100%" layer="2">
<drawrectangle condition="{status}" x="20" y="0" width="20" height="100%" color="{clrGreen}" />

View File

@@ -21,17 +21,6 @@
</area>
</backgroundmodeonly>
<!-- Available Variables datetime:
{time} time in hh:mm
{day} day in digits
{dayleadingzero} day in digits with leading 0
{dayname} Full name of the day
{daynameshort} Short 3 char name of the day
{month} month in digits with leading 0
{monthname} Full name of the month
{monthnameshort} 3 letter abbrivation of month name
{year} year in yyyy
-->
<datetime>
<area x="70%" y="0" width="13%" height="13%" layer="2">
<drawtext align="right" y="0" font="{light}" fontsize="50%" color="{clrWhite}" text="{dayname}" />
@@ -42,22 +31,6 @@
</area>
</datetime>
<!-- Available Variables scrapercontent:
{posterpath} Full Path of Poster to use in image path attribute
{posterwidth} width of poster in pixel
{posterheight} height of poster in pixel
{hasPoster} true if poster is available
{bannerpath} Full Path of banner to use in image path attribute
{bannerwidth} width of banner in pixel
{bannerheight} height of banner in pixel
{hasBanner} true if banner is available
Use this tokens if you want to display a banner for series and a poster for movies:
{mediapath} Full Path of Poster or Banner to use in image path attribute
{mediawidth} width of image in pixel
{mediaheight} height of image in pixel
{isbanner} true if image is a banner, false if it is a poster
-->
<scrapercontent>
<area condition="{isbanner}" x="0" y="0" width="{areaheight}*0.13*{mediawidth}/{mediaheight}" height="13%" layer="2">
<drawimage imagetype="image" path="{mediapath}" align="center" valign="center" width="{areawidth}" height="{areaheight}"/>
@@ -67,12 +40,6 @@
</area>
</scrapercontent>
<!-- Available Variables rectitle:
{rectitle} Title of Recording
{recsubtitle} Subtitle of the Recording
{recdate} Date Recording in dd.mm.yy
{rectime} Time of Recording in hh:mm
-->
<rectitle>
<area x="1%" y="80%" width="69%" height="8%" layer="2">
<drawtext x="0" name="title" valign="center" width="{areawidth}" font="{semibold}" fontsize="85%" color="{clrBlueLight}" text="{rectitle}" />
@@ -80,14 +47,6 @@
</area>
</rectitle>
<!-- Available Variables recinfo:
{screenwidth} width of currently displayed recording in px
{screenheight} height of currently displayed recording in px
{resolution} resolution: hd1080i, hd720p, sd576i
{aspect} screen aspect, each 4:3, 16:9 or 21:9
{isHD} true for hd1080i and hd720p
{isWideScreen} true if aspect is 16:9 or 21:9
-->
<recinfo>
<area x="70%" y="80%" width="29%" height="8%" layer="2">
<!-- widescreen icon -->
@@ -101,20 +60,12 @@
</area>
</recinfo>
<!-- Available Variables currenttime:
{reccurrent} Current Time in hh:mm:ss
-->
<currenttime>
<area x="1%" y="92%" width="30%" height="7%" layer="2">
<drawtext x="0" valign="center" font="{light}" fontsize="100%" color="{clrTransBlueLight}" text="{reccurrent}" />
</area>
</currenttime>
<!-- Available Variables totaltime:
{rectotal} Total Time in hh:mm:ss
{timeshift} true if a timeshifted recording is displayed
{timeshifttotal} Total Time of timeshift event in hh:mm
-->
<totaltime>
<area x="69%" y="92%" width="30%" height="7%" layer="2">
<drawtext condition="not{timeshift}" align="right" valign="center" font="{light}" fontsize="100%" color="{clrWhite}" text="{rectotal}" />
@@ -122,20 +73,12 @@
</area>
</totaltime>
<!-- Available Variables endtime:
{recend} End Time in hh:mm
-->
<endtime>
<area x="63%" y="92%" width="20%" height="7%" layer="2">
<drawtext align="center" valign="bottom" font="{light}" fontsize="60%" color="{clrWhite}" text="{tr(endsat)}: {recend}" />
</area>
</endtime>
<!-- Available Variables progressbar:
{current} current frame of recording
{total} total frames of recording
{timeshift} true if a timeshifted recording is displayed
{timeshifttotal} total number of frames of timeshift event
-->
<progressbar>
<area condition="not{timeshift}" x="5%" y="89%" width="90%" height="3%" layer="2">
<fill color="{clrDarkGray}" />
@@ -148,16 +91,6 @@
</area>
</progressbar>
<!-- Available Variables cutmarks:
{timeshift} true if a timeshifted recording is displayed
{marks[]} array of available marks
{marks[position]} frame of current mark
{marks[endposition]} frame where startmark ends
{marks[total]} total number of frames
{marks[timeshifttotal]} total number of frames of timeshift event
{marks[active]} true if current replay position hits exactly the mark
{marks[startmark]} true if mark is start mark
-->
<cutmarks>
<area condition="not{timeshift}" x="5%" y="89%" width="90%" height="3%" layer="3">
<loop name="marks" x="0" y="0" orientation="absolute">
@@ -197,18 +130,6 @@
</area>
</cutmarks>
<!-- Available Variables controlicons and controliconsmodeonly:
{play} true if recording is played currently
{pause} true if recording is paused
{forward} true if fast forwarding
{forward1x} true if fast forwarding 1x (with 3 trickspeeds)
{forward2x} true if fast forwarding 2x (with 3 trickspeeds)
{forward3x} true if fast forwarding 3x (with 3 trickspeeds)
{rewind} true if rewinding
{rewind1x} true if rewinding 1x (with 3 trickspeeds)
{rewind2x} true if rewinding 2x (with 3 trickspeeds)
{rewind3x} true if rewinding 3x (with 3 trickspeeds)
-->
<controlicons>
<area x="30%" y="93%" width="40%" height="7%" layer="3">
<drawimage condition="not{rewind} ++ not{rewind1x} ++ not{rewind2x} ++ not{rewind3x}" imagetype="icon" path="ico_rew_off" x="{areawidth}/2 - 2*{areaheight}" y="0" width="{areaheight}" height="{areaheight}"/>
@@ -253,9 +174,6 @@
</area>
</controliconsmodeonly>
<!-- Available Variables jump:
{jump} time to jump to in hh:mm
-->
<jump>
<area x="35%" y="45%" width="30%" height="10%" layer="1">
<fill color="{clrTransBlack}" />
@@ -265,114 +183,6 @@
</area>
</jump>
<!-- Available Variables onpause and onpausemodeonly:
{name} title of recording
{shorttext} shorttext of recording
{description} description of recording
{date} date of recording in dd.mm.yy
{time} time of recording in hh:mm
{daynumeric} day as number
{month} month as number
{year} year as number
{duration} real duration of recording in minutes
{durationhours} real duration, full hours
{durationminutes} real duration, rest of minutes
{durationevent} duration of corresponding event in minutes
{durationeventhours} event duration, full hours
{durationeventminutes} event duration, rest of minutes
{ismovie} true if event is scraped as a movie
Available variables for movies:
{movietitle} movie title from themoviedb
{movieoriginalTitle} movie original title from themoviedb
{movietagline} movie tagline from themoviedb
{movieoverview} movie overview from themoviedb
{movieadult} true if movie is rated as adult
{moviebudget} movie budget from themoviedb in $
{movierevenue} movie revenue from themoviedb in $
{moviegenres} movie genres from themoviedb
{moviehomepage} movie homepage from themoviedb
{moviereleasedate} movie release date from themoviedb
{movieruntime} movie runtime from themoviedb
{moviepopularity} movie popularity from themoviedb
{movievoteaverage} movie vote average from themoviedb
{posterwidth} width of scraped poster
{posterheight} height of scraped poster
{posterpath} absolute path of scraped poster
{fanartwidth} width of scraped fanart
{fanartheight} height of scraped fanart
{fanartpath} absolute path of scraped fanart
{movieiscollection} true if movie is part of a collection
{moviecollectionName} name of movie collection
{collectionposterwidth} width of scraped collection poster
{collectionposterheight} height of scraped collection poster
{collectionposterpath} absolute path of scraped collection poster
{collectionfanartwidth} width of scraped collection fanart
{collectionfanartheight} height of scraped collection fanart
{collectionfanartpath} absolute path of scraped collection fanart
{actors[]} array with movie actors
{actors[name]} real name of actor
{actors[role]} actor role
{actors[thumb]} absolute path of scraped actor thumb
{actors[thumbwidth]} width of scraped actor thumb
{actors[thumbheight]} height of scraped actor thumb
{isseries} true if event is scraped as a series
Available variables for series:
{seriesname} name of series
{seriesoverview} series overview
{seriesfirstaired} first aired date
{seriesnetwork} network which produces series
{seriesgenre} series genre
{seriesrating} series thetvdb rating
{seriesstatus} status of series (running / finished)
{episodetitle} title of episode
{episodenumber} number of episode
{episodeseason} season of episode
{episodefirstaired} first aired date of episode
{episodegueststars} guest stars of episode
{episodeoverview} episode overview
{episoderating} user rating for episode
{episodeimagewidth} episode image width
{episodeimageheight} episode image height
{episodeimagepath} episode image path
{seasonposterwidth} episode season poster width
{seasonposterheight} episode season poster height
{seasonposterpath} episode season poster path
{seriesposter1width} width of 1st poster
{seriesposter1height} height of 1st poster
{seriesposter1path} path of 1st poster
{seriesposter2width} width of 2nd poster
{seriesposter2height} height of 2nd poster
{seriesposter2path} path of 2nd poster
{seriesposter3width} width of 3rd poster
{seriesposter3height} height of 3rd poster
{seriesposter3path} path of 3rd poster
{seriesfanart1width} width of 1st fanart
{seriesfanart1height} height of 1st fanart
{seriesfanart1path} path of 1st fanart
{seriesfanart2width} width of 2nd fanart
{seriesfanart2height} height of 2nd fanart
{seriesfanart2path} path of 2nd fanart
{seriesfanart3width} width of 3rd fanart
{seriesfanart3height} height of 3rd fanart
{seriesfanart3path} path of 3rd fanart
{seriesbanner1width} width of 1st banner
{seriesbanner1height} height of 1st banner
{seriesbanner1path} path of 1st banner
{seriesbanner2width} width of 2nd banner
{seriesbanner2height} height of 2nd banner
{seriesbanner2path} path of 2nd banner
{seriesbanner3width} width of 3rd banner
{seriesbanner3height} height of 3rd banner
{seriesbanner3path} path of 3rd fanart
{actors[]} array with movie actors
{actors[name]} real name of actor
{actors[role]} actor role
{actors[thumb]} absolute path of scraped actor thumb
{actors[thumbwidth]} width of scraped actor thumb
{actors[thumbheight]} height of scraped actor thumb
-->
<onpause delay="60" fadetime="{fadeTime}">
<area x="0" y="0" width="100%" height="100%" layer="7">
<fill color="{clrSemiTransBlack}" />
@@ -390,13 +200,6 @@
</area>
</onpausemodeonly>
<!-- Available Variables message:
{text} message text
{status} true if message is a status message
{info} true if message is a info message
{warning} true if message is a warn message
{error} true if message is a error message
-->
<message>
<area x="10%" y="45%" width="80%" height="10%" layer="1">
<fill color="{clrTransBlack}" />

View File

@@ -8,12 +8,6 @@
</area>
</background>
<!-- Available Variables volume:
{volume} current volume, range from 0 to 255
{volpercent} current volume in %
{maxvolume} maximal volume
{mute} true if volume is muted
-->
<volume>
<area x="0" y="0" width="100%" height="50%" layer="2">
<drawtext x="10" valign="center" font="{light}" fontsize="100%" color="{clrWhite}" text="{tr(volume)}: {volpercent}%" />

View File

@@ -70,22 +70,7 @@
<drawrectangle x="4" y="4 + {areaheight} * {offset} / 1000" width="{areawidth} - 8" height="{areaheight} * {height} / 1000 - 8" color="{clrWhite}" />
</area>
</scrollbar>
<!-- Available Variables in detailheader and tab:
{menuheader} "Preview: Skin <skinname>"
{skinname} name of skin
{author} skin author
{fonts[]} array with fonts used by skin
{fonts[name]} name of font
{fonts[installed]} true if font is installed on system
{plugins[]} array with plugins supported by skin
{plugins[name]} name of plugin
{screenshots[]} array with screenshots
{screenshots[desc]} description of screenshot
{screenshots[path]} screenshot path
-->
<detailheader>
<area x="0" y="0" width="100%" height="20%" layer="2">
<fill color="{clrTransBlueLight}" />

View File

@@ -15,10 +15,6 @@
</area>
</viewelement>
<!-- Available Variables scrollbar:
{height} height of scrollbar in tenth of a percent of total height
{offset} offset in tenth of a percent of total height
-->
<scrollbar>
<area x="98%" y="20%" width="2%" height="65%" layer="3">
<fill color="{clrWhite}" />
@@ -27,28 +23,6 @@
</area>
</scrollbar>
<!-- Available Variables Footer:
{red1} true if red button is button 1
{red2} true if red button is button 2
{red3} true if red button is button 3
{red4} true if red button is button 4
{green1} true if green button is button 1
{green2} true if green button is button 2
{green3} true if green button is button 3
{green4} true if green button is button 4
{yellow1} true if yellow button is button 1
{yellow2} true if yellow button is button 2
{yellow3} true if yellow button is button 3
{yellow4} true if yellow button is button 4
{blue1} true if blue button is button 1
{blue2} true if blue button is button 2
{blue3} true if blue button is button 3
{blue4} true if blue button is button 4
{red} label of red button
{green} label of green button
{yellow} label of yellow button
{blue} label of blue button
-->
<viewelement name="footer">
<area x="0" y="92%" width="25%" height="8%" layer="2">
<drawtext condition="{red1}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{red}" />
@@ -92,50 +66,10 @@
</area>
</viewelement>
<!-- Available Variables time:
{time} timestring in hh:mm
{sec} current seconds
{min} current minutes
{hour} current hours
{hmins} current "hourminutes" to display an hour hand
-->
<viewelement name="time">
</viewelement>
<!-- Available Variables in detailheader elements:
{title} title of event
{shorttext} shorttext of event
{start} event start time in hh::mm
{stop} event stop time
{day} Day of event as three letter abrivation
{date} date of current event in dd.mm.yy
{daynumeric} day as number
{month} month as number
{year} year as number
{running} true if event is currently running
{elapsed} elapsed time of event, if not running 0
{duration} duration of event
{durationhours} duration, full hours
{durationminutes} duration, rest of minutes
{vps} vps description string
{channelname} Channelname of event
{channelnumber} Channelnumber of event
{channellogoexists} true if a channel logo exists
{channelid} ChannelID as path to display channel logo
{ismovie} true if event is scraped as a movie
{isseries} true if event is scraped as a series
{posteravailable} true if a poster is available
{posterwidth} width of scraped poster
{posterheight} height of scraped poster
{posterpath} absolute path of scraped poster
{banneravailable} true if a banner is available
{bannerwidth} width of banner
{bannerheight} height of banner
{bannerpath} path of banner
{epgpicavailable} true if a epg picture is available
{epgpicpath} path of epg picture
-->
<viewelement name="header">
<area x="1%" y="0" width="98%" height="20%" layer="3">
<drawimage name="logo" imagetype="channellogo" path="{channelid}" x="0" width="15%" height="80%" valign="center" />
@@ -149,140 +83,6 @@
</area>
</viewelement>
<!-- Available Variables in tab elements:
{title} title of event
{shorttext} shorttext of event
{description} description of event
{start} event start time in hh::mm
{stop} event stop time
{day} Day of event as three letter abrivation
{date} date of current event in dd.mm.yy
{daynumeric} day as number
{month} month as number
{year} year as number
{running} true if event is currently running
{elapsed} elapsed time of event, if not running 0
{duration} duration of event
{durationhours} duration, full hours
{durationminutes} duration, rest of minutes
{vps} vps description string
{channellogoexists} true if a channel logo exists
{channelid} ChannelID as path to display channel logo
{hasreruns} true if reruns of this event are found
{reruns[]} array with reruns
{reruns[title]} title of rerun
{reruns[shorttext]} shorttext of rerun
{reruns[date]} date of rerun in dd:mm
{reruns[day]} short dayname of rerun
{reruns[start]} start time of rerun in hh:mm
{reruns[stop]} stop time of rerun in hh:mm
{reruns[channelname]} name of channel on which rerun occurs
{reruns[channelnumber]} number of channel on which rerun occurs
{reruns[channelid]} id of channel on which rerun occurs to display channel logo
{reruns[channellogoexists]} true if channel logo exists
{epgpic1avaialble} true if first epg picture is available
{epgpic2avaialble} true if first epg picture is available
{epgpic3avaialble} true if first epg picture is available
{epgpic1path} path of first epg picture
{epgpic2path} path of second epg picture
{epgpic3path} path of third epg picture
{ismovie} true if event is scraped as a movie
Available variables for movies:
{movietitle} movie title from themoviedb
{movieoriginalTitle} movie original title from themoviedb
{movietagline} movie tagline from themoviedb
{movieoverview} movie overview from themoviedb
{movieadult} true if movie is rated as adult
{moviebudget} movie budget from themoviedb in $
{movierevenue} movie revenue from themoviedb in $
{moviegenres} movie genres from themoviedb
{moviehomepage} movie homepage from themoviedb
{moviereleasedate} movie release date from themoviedb
{movieruntime} movie runtime from themoviedb
{moviepopularity} movie popularity from themoviedb
{movievoteaverage} movie vote average from themoviedb
{posterwidth} width of scraped poster
{posterheight} height of scraped poster
{posterpath} absolute path of scraped poster
{fanartwidth} width of scraped fanart
{fanartheight} height of scraped fanart
{fanartpath} absolute path of scraped fanart
{movieiscollection} true if movie is part of a collection
{moviecollectionName} name of movie collection
{collectionposterwidth} width of scraped collection poster
{collectionposterheight} height of scraped collection poster
{collectionposterpath} absolute path of scraped collection poster
{collectionfanartwidth} width of scraped collection fanart
{collectionfanartheight} height of scraped collection fanart
{collectionfanartpath} absolute path of scraped collection fanart
{actors[]} array with movie actors
{actors[name]} real name of actor
{actors[role]} actor role
{actors[thumb]} absolute path of scraped actor thumb
{actors[thumbwidth]} width of scraped actor thumb
{actors[thumbheight]} height of scraped actor thumb
{isseries} true if event is scraped as a series
Available variables for series:
{seriesname} name of series
{seriesoverview} series overview
{seriesfirstaired} first aired date
{seriesnetwork} network which produces series
{seriesgenre} series genre
{seriesrating} series thetvdb rating
{seriesstatus} status of series (running / finished)
{episodetitle} title of episode
{episodenumber} number of episode
{episodeseason} season of episode
{episodefirstaired} first aired date of episode
{episodegueststars} guest stars of episode
{episodeoverview} episode overview
{episoderating} user rating for episode
{episodeimagewidth} episode image width
{episodeimageheight} episode image height
{episodeimagepath} episode image path
{seasonposterwidth} episode season poster width
{seasonposterheight} episode season poster height
{seasonposterpath} episode season poster path
{seriesposter1width} width of 1st poster
{seriesposter1height} height of 1st poster
{seriesposter1path} path of 1st poster
{seriesposter2width} width of 2nd poster
{seriesposter2height} height of 2nd poster
{seriesposter2path} path of 2nd poster
{seriesposter3width} width of 3rd poster
{seriesposter3height} height of 3rd poster
{seriesposter3path} path of 3rd poster
{seriesfanart1width} width of 1st fanart
{seriesfanart1height} height of 1st fanart
{seriesfanart1path} path of 1st fanart
{seriesfanart2width} width of 2nd fanart
{seriesfanart2height} height of 2nd fanart
{seriesfanart2path} path of 2nd fanart
{seriesfanart3width} width of 3rd fanart
{seriesfanart3height} height of 3rd fanart
{seriesfanart3path} path of 3rd fanart
{seriesbanner1width} width of 1st banner
{seriesbanner1height} height of 1st banner
{seriesbanner1path} path of 1st banner
{seriesbanner2width} width of 2nd banner
{seriesbanner2height} height of 2nd banner
{seriesbanner2path} path of 2nd banner
{seriesbanner3width} width of 3rd banner
{seriesbanner3height} height of 3rd banner
{seriesbanner3path} path of 3rd fanart
{actors[]} array with movie actors
{actors[name]} real name of actor
{actors[role]} actor role
{actors[thumb]} absolute path of scraped actor thumb
{actors[thumbwidth]} width of scraped actor thumb
{actors[thumbheight]} height of scraped actor thumb
-->
<!-- a tab is one scrolling area, just position and draw as inside a normal area -->
<!-- just define as many tabs as needed -->
<!-- TAB EPGINFO -->
<tab name="EPG Info" x="2%" y="20%" width="94%" height="65%" layer="2" scrollheight="{areaheight}/4">
<drawtextbox condition="not{isseries}++not{ismovie}" x="0" y="0" width="96%" font="{light}" fontsize="8%" color="{clrWhite}" text="{description}" />
@@ -343,14 +143,6 @@
</tab>
<!-- Available Variables tablabels:
{currenttab} name of currently active tab
{prevtab} name of prev tab
{nexttab} name of next tab
{tabs[]} array with available tab labels
{tabs[title]} title of tab
{tabs[current]} true if tab is displayed currently
-->
<tablabels>
<area x="0" y="85%" width="98%" height="5%" layer="3">
<loop name="tabs" x="0" y="0" orientation="horizontal">

View File

@@ -2,11 +2,6 @@
<!DOCTYPE displayplugin SYSTEM "../../../dtd/displayplugin.dtd">
<displayplugin x="0" y="0" width="100%" height="100%">
<!-- Available Variables Background:
{menuwidth} menuwidth in percent of screenwidth
{menuheight} menuheight in percent of screenheight
{hasscrollbar} true if menu needs a scrollbar
-->
<viewelement name="background">
<area condition="not{hasscrollbar}" x="0" y="0" width="100%" height="100%" layer="4">
<drawrectangle x="{areawidth}/2 - {menuwidth}*{areawidth}/100/2" y="{areaheight}/2 - {menuheight}*{areaheight}/100/2" width="{menuwidth}*{areawidth}/100" height="{menuheight}*{areaheight}/100" color="{clrTransBlack}" />
@@ -16,13 +11,6 @@
</area>
</viewelement>
<!-- Available Variables Scrollbar:
{menuwidth} menuwidth in percent of screenwidth
{posy} y position of scrollbar start in percent of screenheight
{totalheight} height of complete scrollbar in percent of screenheight
{height} height in tenth of a percent of total height
{offset} offset in tenth of a percent
-->
<viewelement name="scrollbar">
<area x="0" y="0" width="100%" height="100%" layer="5">
<drawrectangle x="{areawidth}/2 + {menuwidth}*{areawidth}/100/2" y="{posy}*{areaheight}/100" width="2%" height="{totalheight}*{areaheight}/100" color="{clrWhite}" />
@@ -34,21 +22,10 @@
</viewelement>
<grid name="recmenu" x="0" y="0" width="100%" height="100%">
<!-- Background
{current} true if item is currently selected
-->
<area condition="not{info}++not{buttonyesno}++not{timerconflictheader}++not{timerconflict}++not{timelineheader}++not{timelinetimer}" layer="5">
<fill condition="{current}" color="{clrTransBlueLight}" />
<fill condition="not{current}" color="{clrTransBlack}" />
</area>
<!-- info item
{info} true
{lines} number of lines to display (max. 4)
{line1} text of line 1
{line2} text of line 1
{line3} text of line 1
{line4} text of line 1
-->
<area condition="{info}" layer="5">
<drawtext condition="eq({lines}, 1)" align="center" valign="center" font="{semibold}" fontsize="60%" color="{clrWhite}" text="{line1}" />
@@ -64,20 +41,9 @@
<drawtext condition="eq({lines}, 4)" align="center" y="50%" font="{semibold}" fontsize="22%" color="{clrWhite}" text="{line3}" />
<drawtext condition="eq({lines}, 4)" align="center" y="75%" font="{semibold}" fontsize="22%" color="{clrWhite}" text="{line4}" />
</area>
<!-- button
{button} true
{buttontext} text to display on button
-->
<area condition="{button}" layer="6">
<drawtext align="center" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{buttontext}" />
</area>
<!-- yes / no button
{buttonyesno} true
{yes} true if button is set to yes
{textyes} text to display on yes button
{textno} text to display on no button
-->
<areacontainer condition="{buttonyesno}">
<area layer="5">
<drawrectangle condition="not{current}" x="2%" y="5%" width="46%" height="90%" color="{clrDarkGray}"/>
@@ -92,42 +58,21 @@
<drawtext name="notext" x="3*{areawidth}/4 - {width(notext)}/2" valign="center" font="{light}" fontsize="70%" color="{clrWhite}" text="{textno}" />
</area>
</areacontainer>
<!-- Int Selector
{intselector} true
{text} title of selector
{value} current value of selector, integer
-->
<area condition="{intselector}" layer="6">
<drawtext x="1%" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{text}" />
<drawtext align="right" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{value} " />
</area>
<!-- Bool Selector
{boolselector} true
{text} title of selector
{value} current value of selector, true or false
-->
<area condition="{boolselector}" layer="6">
<drawtext x="1%" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{text}" />
<drawimage condition="{value}" imagetype="icon" path="ico_yes" x="{areawidth} - {areaheight}*0.8" y="10%" width="{areaheight}*0.8" height="{areaheight}*0.8"/>
<drawimage condition="not{value}" imagetype="icon" path="ico_no" x="{areawidth} - {areaheight}*0.8" y="10%" width="{areaheight}*0.8" height="{areaheight}*0.8"/>
</area>
<!-- String Selector
{stringselector} true
{text} title of selector
{value} current value of selector, string
-->
<area condition="{stringselector}" layer="6">
<drawtext x="1%" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{text}" />
<drawimage imagetype="icon" path="ico_arrow_right" x="{areawidth} - {areaheight}*0.8" y="10%" width="{areaheight}*0.8" height="{areaheight}*0.8"/>
<drawtext name="value" x="{areawidth} - {width(value)} - {areaheight}" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{value}" />
<drawimage imagetype="icon" path="ico_arrow_left" x="{areawidth} - {width(value)} - 2*{areaheight}" y="10%" width="{areaheight}*0.8" height="{areaheight}*0.8"/>
</area>
<!-- Text Input
{textinput} true
{editmode} true if currently in edit mode
{text} title of selector
{value} current value of selector, string
-->
<areacontainer condition="{textinput}">
<area layer="6">
<drawtext x="1%" y="10%" font="{light}" fontsize="40%" color="{clrWhite}" text="{text}" />
@@ -138,32 +83,14 @@
<drawtext align="right" y="55%" font="{light}" fontsize="40%" color="{clrBlack}" text="{value} " />
</area>
</areacontainer>
<!-- Time Selector
{timeselector} true
{text} title of selector
{value} current value of selector, hh:mm
-->
<area condition="{timeselector}" layer="6">
<drawtext x="1%" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{text}" />
<drawtext align="right" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{value} " />
</area>
<!-- Day Selector
{dayselector} true
{text} title of selector
{value} current value of selector, dd.mm
-->
<area condition="{dayselector}" layer="6">
<drawtext x="1%" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{text}" />
<drawtext align="right" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{value} " />
</area>
<!-- Channel Selector
{channelselector} true
{text} title of selector
{channelnumber} number of currently selected channel, 0 for "all channels"
{channelname} name of channel or "all channels"
{channelid} id of channel
{channellogoexisis} true if channel logo exists
-->
<area condition="{channelselector}" layer="6">
<drawtext x="1%" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{text}" />
<drawimage condition="{channellogoexisis}" imagetype="channellogo" path="{channelid}" x="{areawidth}-{areaheight}" valign="center" width="{areaheight}*0.9" height="{areaheight}*0.9" />
@@ -171,13 +98,6 @@
<drawtext condition="not{channellogoexisis}++{channelnumber}" align="right" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{channelnumber} {channelname} " />
<drawtext condition="not{channelnumber}" align="right" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{channelname} " />
</area>
<!-- Weekday Selector
{weekdayselector} true
{text} title of selector
{dayselected} number of currently selected day (0 - 6)
{day0abbr} ... {day6abbr} localized one character abbrevation for weekdays from Monday to Sunday
{day0set} ... {day6set} true if according weekday from Monday to Sunday is set
-->
<areacontainer condition="{weekdayselector}">
<area layer="6">
<drawtext x="1%" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{text}" />
@@ -223,27 +143,12 @@
<drawtext name="day6" x="{areawidth} - {areaheight}*1.0 + {areaheight}/4 - {width(day6)}/2" valign="center" font="{light}" fontsize="50%" color="{clrWhite}" text="{day6abbr}" />
</area>
</areacontainer>
<!-- Directory Selector
{directoryselector} true
{text} title of selector
{folder} current folder of selector, string
-->
<area condition="{directoryselector}" layer="6">
<drawtext x="1%" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{text}" />
<drawimage imagetype="icon" path="ico_arrow_right" x="{areawidth} - {areaheight}*0.8" y="10%" width="{areaheight}*0.8" height="{areaheight}*0.8"/>
<drawtext name="folder" x="{areawidth} - {width(folder)} - {areaheight}" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{folder}" />
<drawimage imagetype="icon" path="ico_arrow_left" x="{areawidth} - {width(folder)} - 2*{areaheight}" y="10%" width="{areaheight}*0.8" height="{areaheight}*0.8"/>
</area>
<!-- Timerconflict Header
{timerconflictheader} true
{text} title of Timerconflict Header
{conflictstart} start of conflict in hh:mm
{conflictstop} end of conflict in hh:mm
{overlapstart} start of overlap in hh:mm
{overlapstop} end of overlap in hh:mm
{overlapstartpercent} start of overlap in percent of total conflict time width
{overlapwidthpercent} width of overlap in percent of total conflict time width
-->
<areacontainer condition="{timerconflictheader}">
<area layer="5">
<drawtext name="title" x="{areawidth}*0.7*0.5 - {width(title)}/2" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{text}" />
@@ -257,25 +162,6 @@
<drawrectangle x="{areawidth}*0.7 + {overlapstartpercent}*{areawidth}*0.3/100" y="50%" width="{overlapwidthpercent}*{areawidth}*0.3/100" height="50%" color="{clrRedTrans}"/>
</area>
</areacontainer>
<!-- Timerconflict
{timerconflict} true
{timertitle} title of timer
{channelname} name of channel
{channelid} channel ID
{transponder} transponder of channel
{starttime} start of timer in hh:mm
{stoptime} end of timer in hh:mm
{date} date of timer in dd.mm.yy
{weekday} weekday of timer, 3 letter abrivation
{infoactive} true if info icon is active
{deleteactive} true if delete icon is active
{editactive} true if edit icon is active
{searchactive} true if search icon is active
{timerstartpercent} start of timer in percent of total conflict time width
{timerwidthpercent} end of timer in percent of total conflict time width
{overlapstartpercent} start of overlap in percent of total conflict time width
{overlapwidthpercent} width of overlap in percent of total conflict time width
-->
<areacontainer condition="{timerconflict}">
<area layer="5">
<drawimage condition="not{current}" imagetype="skinpart" path="menubutton" x="0" y="0" width="70%" height="100%"/>
@@ -300,20 +186,6 @@
<drawrectangle x="{areawidth}*0.7 + {overlapstartpercent}*{areawidth}*0.3/100" y="0" width="{overlapwidthpercent}*{areawidth}*0.3/100" height="100%" color="{clrRedTrans}"/>
</area>
</areacontainer>
<!-- Event
{event} true
{title} title of event
{shorttext} shorttext of event
{starttime} start of event in hh:mm
{stoptime} end of event in hh:mm
{date} date of event in dd.mm.yy
{weekday} weekday of event, 3 letter abrivation
{channelnumber} number of channel
{channelname} name of channel
{channelid} id of channel
{channellogoexisis} true if channel logo exists
{hastimer} true if event has a timer
-->
<area condition="{event}" layer="6">
<drawimage condition="{current}" imagetype="icon" path="ico_info_active" x="{areaheight}*0.05" valign="center" width="{areaheight}*0.5" height="{areaheight}*0.5"/>
<drawimage condition="not{current}" imagetype="icon" path="ico_info_inactive" x="{areaheight}*0.05" valign="center" width="{areaheight}*0.5" height="{areaheight}*0.5"/>
@@ -325,31 +197,10 @@
<drawimage condition="not{current}++not{hastimer}" imagetype="icon" path="ico_record_inactive" x="{areawidth} - {areaheight}*0.6" valign="center" width="{areaheight}*0.5" height="{areaheight}*0.5"/>
<drawimage condition="{hastimer}" imagetype="icon" path="ico_activetimer" x="{areawidth} - {areaheight}*0.6" valign="center" width="{areaheight}*0.5" height="{areaheight}*0.5"/>
</area>
<!-- Recording
{recording} true
{recname} title of recording
{recstarttime} start of recording in hh:mm
{recdate} date of recording in dd.mm.yy
{recduration} duration of recording in min
{channelnumber} number of channel
{channelname} name of channel
{channelid} id of channel
{channellogoexisis} true if channel logo exists
-->
<area condition="{recording}" layer="6">
<drawtext x="1%" y="0" font="{light}" width="98%" fontsize="50%" color="{clrWhite}" text="{recname}" />
<drawtext x="55%" y="0" font="{light}" width="98%" fontsize="35%" color="{clrWhite}" text="{recdate} {recstarttime} - {recduration} min, {channelname}" />
</area>
<!-- Searchtimer
{searchtimer} true
{timeractive} true if searchtimer is active
{searchstring} searchtimer search string
{activetimers} number of active timers caused by this searchtimer
{recordingsdone} number of recordings done by this searchtimer
{searchactive} true if search icon is active
{editactive} true if edit icon is active
{deleteactive} true if delete icon is active
-->
<area condition="{searchtimer}" layer="6">
<drawimage condition="{current}++{searchactive}" imagetype="icon" path="ico_search_active" x="{areaheight}*0.05" valign="center" width="{areaheight}*0.5" height="{areaheight}*0.5"/>
<drawimage condition="not{current}||not{searchactive}" imagetype="icon" path="ico_search_inactive" x="{areaheight}*0.05" valign="center" width="{areaheight}*0.5" height="{areaheight}*0.5"/>
@@ -361,22 +212,6 @@
<drawtext condition="{timeractive}" align="right" y="5%" font="{regular}" fontsize="35%" color="{clrWhite}" text="active " />
<drawtext x="{areaheight}*1.8" y="55%" font="{light}" fontsize="35%" color="{clrWhite}" text="Active Timers: {activetimers}, Recordings: {recordingsdone}" />
</area>
<!-- Timeline Header
{timelineheader} true
{date} date of current day in weekdayname dd.mm.yyyy
{timerset} true if timer info is set
{channelname} name of channel of timer
{channelid} channel ID of channel of timer
{channellogoexisis} true if channel logo exists
{channelnumber} number of channel of timer
{channeltransponder} transponder of channel of timer
{timerstart} start of timer in hh:mm
{timerstop} end of timer in hh:mm
{eventtitle} title of according event
{eventshorttext} short text of according event
{eventstart} start time of according event
{eventstop} end time of according event
-->
<areacontainer condition="{timelineheader}">
<area layer="5">
<drawtext align="center" y="1%" font="{regular}" fontsize="35%" color="{clrWhite}" text="Timer for {date}" />
@@ -438,11 +273,6 @@
<drawtext x="{areaheight}*0.8" y="57%" width="{areawidth}-{areaheight}" font="{light}" fontsize="25%" color="{clrWhite}" text="{eventtitle} - {eventshorttext}"/>
</area>
</areacontainer>
<!-- Timeline Timer
{timelinetimer} true
{timerstart} start of timer in tenth percent of complete 24h width
{timerwidth} width of timer in tenth percent of complete 24h width
-->
<areacontainer condition="{timelinetimer}">
<area layer="5">
<drawrectangle condition="{current}" x="5%" y="0" width="90%" height="100%" color="{clrTransBlueLight}"/>
@@ -453,10 +283,6 @@
<drawrectangle x="{areawidth}*0.05 + {timerstart}*{areawidth}*0.9/1000" y="25%" width="{timerwidth}*{areawidth}*0.9/1000" height="50%" color="{clrBlack}"/>
</area>
</areacontainer>
<!-- Favorites
{favorite} true
{favdesc} description of favorite
-->
<area condition="{favorite}" layer="6">
<drawimage condition="{current}" imagetype="icon" path="ico_search_active" x="{areaheight}*0.1" valign="center" width="{areaheight}*0.5" height="{areaheight}*0.5"/>
<drawimage condition="not{current}" imagetype="icon" path="ico_search_inactive" x="{areaheight}*0.1" valign="center" width="{areaheight}*0.5" height="{areaheight}*0.5"/>

View File

@@ -27,32 +27,6 @@
</area>
</viewelement>
<!-- Tokens available in Header
{isdummy} true if active element is a dummy element
{title} title of event of active grid
{shorttext} shorttext of event of active grid
{description} detailed description of event of active grid
{start} event start time in hh::mm
{stop} event stop time
{day} day of event of active grid
{date} date of event of active grid in dd.mm.yy
{daynumeric} day as number
{month} month as number
{year} year as number
{running} true if event is currently running
{elapsed} elapsed time of event, if not running 0
{duration} duration of event
{durationhours} duration, full hours
{durationminutes} duration, rest of minutes
{channelname} Channel Name
{channelnumber} Channel Number
{channelid} ChannelID as path to display channel logo
{channellogoexists} true if channel logo exists
{hasposter} true if a scraped poster is available for this element
{posterwidth} width of scraped poster
{posterheight} height of scraped poster
{posterpath} absolute path of scraped poster
-->
<viewelement name="header_hor">
<areascroll condition="not{isdummy}++not{hasposter}" orientation="vertical" mode="forthandback" delay="1000" scrollspeed="medium" x="1%" y="1%" width="68%" height="19%" layer="2">
<drawtext x="0" y="0" font="{semibold}" width="100%" fontsize="25%" color="{clrWhite}" text="{day} {daynumeric}.{month} {start} - {stop}" />
@@ -95,28 +69,6 @@
</area>
</viewelement>
<!-- Available Variables Footer:
{red1} true if red button is button 1
{red2} true if red button is button 2
{red3} true if red button is button 3
{red4} true if red button is button 4
{green1} true if green button is button 1
{green2} true if green button is button 2
{green3} true if green button is button 3
{green4} true if green button is button 4
{yellow1} true if yellow button is button 1
{yellow2} true if yellow button is button 2
{yellow3} true if yellow button is button 3
{yellow4} true if yellow button is button 4
{blue1} true if blue button is button 1
{blue2} true if blue button is button 2
{blue3} true if blue button is button 3
{blue4} true if blue button is button 4
{red} label of red button
{green} label of green button
{yellow} label of yellow button
{blue} label of blue button
-->
<viewelement name="footer_hor">
<area x="0" y="92%" width="25%" height="8%" layer="2">
<drawtext condition="{red1}" x="20" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{red}" />
@@ -202,21 +154,7 @@
<drawrectangle condition="{blue4}" x="0" y="0" width="10" height="100%" color="{clrBlue}" />
</area>
</viewelement>
<!-- Available Variables time:
{time} timestring in hh:mm
{sec} current seconds
{min} current minutes
{hour} current hours
{hmins} current "hourminutes" to display an hour hand
{day} day in digits
{dayleadingzero} day in digits with leading 0
{dayname} Full name of the day
{daynameshort} Short 3 char name of the day
{month} month in digits with leading 0
{monthname} Full name of the month
{monthnameshort} 3 letter abbrivation of month name
{year} year in yyyy
-->
<viewelement name="time_hor">
<area x="70%" y="0" width="{areawidth}*0.145" height="12%" layer="2">
<drawtext align="right" y="5%" font="{light}" fontsize="45%" color="{clrWhite}" text="{dayname}" />
@@ -237,10 +175,6 @@
</area>
</viewelement>
<!-- Tokens available in datetimeline
{weekday} weekday of current display
{date} date of current display
-->
<viewelement name="datetimeline_hor">
<area x="0" y="20%" width="15%" height="5%" layer="3">
<drawtext align="center" valign="center" font="{semibold}" fontsize="90%" color="{clrWhite}" text="{weekday} {date}" />
@@ -254,9 +188,6 @@
</area>
</viewelement>
<!-- Tokens available in timeindicator
{percenttotal} position of current time indicator in tenth of a percent of complete time shown
-->
<viewelement name="timeindicator_hor">
<area x="15%" y="20%" width="85%" height="72%" layer="4">
<drawrectangle x="{percenttotal}*{areawidth}/1000" y="0" width="1" height="100%" color="{clrRed}" />
@@ -269,9 +200,6 @@
</area>
</viewelement>
<!-- Tokens available in timeline
{timestring} time of grid in hh:mm
-->
<grid name="timeline_hor" x="15%" y="20%" width="85%" height="5%">
<area layer="1">
<drawrectangle condition="{fullhour}" x="1" y="1" width="{areawidth}-2" height="{areaheight}-2" color="{clrTransWhite}"/>
@@ -294,12 +222,6 @@
</area>
</grid>
<!-- Tokens available in channels
{name} name of channel
{number} number of channel
{channelid} id of channel to display channel logo
{channellogoexists} true if channel logo exists
-->
<grid name="channels_hor" x="5%" y="25%" width="10%" height="67%">
<area layer="2">
<drawimage condition="{channellogoexists}" imagetype="channellogo" path="{channelid}" align="center" valign="center" width="80%" height="80%" />
@@ -314,10 +236,6 @@
</area>
</grid>
<!-- Tokens available in channelgroups
{color} alternates grid by grid from true to false
{group} name of channel group
-->
<grid name="channelgroups_hor" x="0" y="25%" width="5%" height="67%">
<area layer="2">
<drawrectangle condition="{color}" x="1" y="1" width="{areawidth}-2" height="{areaheight}-2" color="{clrTransBlack}" />
@@ -338,16 +256,6 @@
</area>
</grid>
<!-- Tokens available in schedules
{color} alternates grid by grid from true to false
{dummy} true if grid is a dummy grid
{timer} true if a timer is set for the according event
{switchtimer} true if a switchtimer is set for the according event
{title} title of grid
{shorttext} shorttext of grid
{start} start time in hh:mm
{stop} stop time in hh:dd
-->
<grid name="schedules_hor" x="15%" y="25%" width="85%" height="67%">
<area layer="2">
<drawrectangle condition="{color}++not{current}" x="1" y="1" width="{areawidth}-2" height="{areaheight}-2" color="{clrTransBlack}" />
@@ -381,9 +289,6 @@
</area>
</grid>
<!-- Tokens available in channeljump
{channel} current user input for channel jump
-->
<viewelement name="channeljump">
</viewelement>

View File

@@ -2,22 +2,26 @@
<!DOCTYPE menuplugin SYSTEM "../../../dtd/displaymenuplugin.dtd">
<menuplugin x="0" y="0" width="100%" height="100%" fadetime="0">
<background>
<!-- background left Menu -->
<background condition="eq({indexweathermenuorientation}, 1)">
<area x="0" y="0" width="50%" height="100%" layer="1">
<fill color="{clrTransBlack}" />
</area>
<!-- background right detail view -->
<area x="50%" y="3%" width="50%" height="94%" layer="1">
<fill color="{clrTransBlueLight}" />
</area>
</background>
<!-- Available Variables header:
{title} title of current menu
{vdrversion} running VDR Version
{hasicon} true if a menu icon is available
{icon} path of menu icon
-->
<background condition="eq({indexweathermenuorientation}, 0)">
<area x="0" y="0" width="100%" height="10%" layer="1">
<fill color="{clrTransBlack}" />
</area>
<area x="5%" y="10%" width="90%" height="72%" layer="1">
<fill color="{clrTransBlueLight}" />
</area>
<area x="0" y="82%" width="100%" height="18%" layer="1">
<fill color="{clrTransBlack}" />
</area>
</background>
<header>
<area x="0" y="0" width="50%" height="10%" layer="2">
<drawtext condition="not{hasicon}" x="5" width="{areawidth}-10" valign="center" font="{light}" fontsize="80%" color="{clrWhite}" text="{title}" />
@@ -38,82 +42,7 @@
</area>
</colorbuttons>
<menuitems x="0" y="10%" orientation="vertical" width="100%" height="82%" align="center" numlistelements="10">
<!-- Available Variables:
{current}
{menuitemtext} "Current Weather", "Next 48 hours" or "Next 7 days"
{iscurrent} true if item is "Current Weather"
{ishourly} true if item is "Next 48 hours"
{isdaily} true if item is "Next 7 days"
{city} configured city to display weather for
{latitude} latitude
{longitude} longitude
If {iscurrent} is true, the following tokens are set:
{timestamp} timestamp in hh:mm dd.mm of current forecast
{temperature} current temperature in °C
{apparenttemperature} apparent (felt) temperature in °C
{summary} short summary of current weather
{icon} path to use in <drawimage> to display appropriate weather icon
{precipitationintensity} precipitation intensity in l/qm
{precipitationprobability} precipitation probability in %
{precipitationtype} precipitation type (snow, ...)
{humidity} humidity in %
{windspeed} wind speed in km/h
{windbearing} wind bearing in degrees
{windbearingstring} wind bearing as human readable string (e.g NE, NNE, ...)
{visibility} visibility in km
{cloudcover} cloud cover in %
{pressure} pressure in HPa
{ozone} Ozone in DU (Dobson Unit)
If {ishourly} is true, the following tokens are set:
{summary} short summary of weather
{icon} path to use in <drawimage> to display appropriate weather icon
{hourly[]} array with up to 48 hourly forecasts
{hourly[num]} number of forecast, starting at 1
{hourly[timestamp]} timestamp in hh:mm
{hourly[temperature]} temperature in °C
{hourly[apparenttemperature]} apparent (felt) temperature in °C
{hourly[summary]} short summary
{hourly[icon]} path to use in <drawimage> to display appropriate weather icon
{hourly[precipitationintensity]} precipitation intensity in l/qm
{hourly[precipitationprobability]} precipitation probability in %
{hourly[precipitationtype]} precipitation type (snow, ...)
{hourly[humidity]} humidity in %
{hourly[windspeed]} wind speed in km/h
{hourly[windbearing]} wind bearing in degrees
{hourly[windbearingstring]} wind bearing as human readable string (e.g NE, NNE, ...)
{hourly[visibility]} visibility in km
{hourly[cloudcover]} cloud cover in %
{hourly[pressure]} pressure in HPa
{hourly[ozone]} Ozone in DU (Dobson Unit)
If {isdaily} is true, the following tokens are set:
{summary} short summary of weather
{icon} path to use in <drawimage> to display appropriate weather icon
{daily[day]} day of forecast in dd.mm
{daily[dayname]} three letter abbrivated day name
{daily[temperaturemin]} minimum temperature at this day in °C
{daily[temperaturemintime]} time of minimum temperature
{daily[temperaturemax]} maximum temperature at this day in °C
{daily[temperaturemaxtime]} time of maximum temperature
{daily[summary]} short summary
{daily[icon]} path to use in <drawimage> to display appropriate weather icon
{daily[precipitationintensity]} precipitation intensity in l/qm
{daily[precipitationprobability]} precipitation probability in %
{daily[precipitationtype]} precipitation type (snow, ...)
{daily[humidity]} humidity in %
{daily[windspeed]} wind speed in km/h
{daily[windbearing]} wind bearing in degrees
{daily[windbearingstring]} wind bearing as human readable string (e.g NE, NNE, ...)
{daily[visibility]} visibility in km
{daily[cloudcover]} cloud cover in %
{daily[pressure]} pressure in HPa
{daily[ozone]} Ozone in DU (Dobson Unit)
-->
<menuitems condition="strequal({weathermenuorientation}, 'vertical')" x="0" y="10%" orientation="vertical" width="100%" height="82%" align="center" numlistelements="10">
<listelement>
<!-- Background -->
<area x="1%" width="46%" layer="2">
@@ -124,8 +53,6 @@
<drawtext x="10" valign="center" font="{light}" fontsize="95%" color="{clrWhite}" text="{menuitemtext}" />
</area>
</listelement>
<!-- additional element which is drawn for current element -->
<!-- All Tokens from listelement are available -->
<currentelement delay="100" fadetime="0">
<area condition="{iscurrent}" x="51%" y="0" width="48%" height="100%" layer="3">
<drawimage name="weathericon" imagetype="icon" path="{icon}" x="2%" y="0" width="{areawidth}*0.3" height="{areawidth}*0.3"/>
@@ -161,4 +88,50 @@
</area>
</currentelement>
</menuitems>
<menuitems condition="strequal({weathermenuorientation}, 'horizontal')" x="0" y="10%" orientation="horizontal" width="100%" height="90%" align="center" numlistelements="3">
<listelement>
<!-- Background -->
<area y="80%" height="20%" layer="2">
<fill condition="not{current}" color="{clrTransparent}" />
<fill condition="{current}" color="{clrTransBlueLight}" />
</area>
<area y="80%" height="20%" layer="3">
<drawtextbox x="0" y="0" width="100%" height="100%" align="center" valign="center" font="{light}" fontsize="40%" color="{clrWhite}" text="{menuitemtext}" />
</area>
</listelement>
<currentelement delay="100" fadetime="0">
<area condition="{iscurrent}" x="10%" y="5%" width="80%" height="70%" layer="3">
<drawimage name="weathericon" imagetype="icon" path="{icon}" x="2%" y="0" width="{areaheight}*0.4" height="{areaheight}*0.4"/>
<drawtext align="right" y="0" font="{semibold}" fontsize="10%" color="{clrWhite}" text="{city}" />
<drawtext align="right" y="9%" font="{light}" fontsize="10%" color="{clrWhite}" text="{timestamp}" />
<drawtext align="right" y="18%" font="{light}" fontsize="25%" color="{clrWhite}" text="{temperature}°C" />
<drawtext align="right" y="40%" font="{light}" fontsize="10%" color="{clrWhite}" text="{summary}" />
<drawtext x="0" y="40%" font="{light}" fontsize="8%" color="{clrWhite}" text="{tr(apparenttemp)}: {apparenttemperature} °C" />
<drawtext x="0" y="48%" font="{light}" fontsize="8%" color="{clrWhite}" text="{tr(precipitationprobability)}: {precipitationprobability} %" />
<drawtext x="0" y="56%" font="{light}" fontsize="8%" color="{clrWhite}" text="{tr(precipitationintensity)}: {precipitationintensity} l/qm" />
<drawtext x="0" y="64%" font="{light}" fontsize="8%" color="{clrWhite}" text="{tr(humidity)}: {humidity} %" />
<drawtext x="0" y="72%" font="{light}" fontsize="8%" color="{clrWhite}" text="{tr(windspeed)}: {windspeed} km/h" />
<drawtext x="0" y="80%" font="{light}" fontsize="8%" color="{clrWhite}" text="{tr(windbearing)}: {windbearingstring} ({windbearing} °)" />
<drawtext x="0" y="88%" font="{light}" fontsize="8%" color="{clrWhite}" text="{tr(cloudcover)}: {cloudcover} %" />
</area>
<area condition="{ishourly}" x="10%" y="5%" width="80%" height="70%" layer="3">
<loop name="hourly" x="0" y="0" orientation="vertical" columnwidth="{areawidth}" rowheight="{areaheight}/12" overflow="cut">
<drawtext x="0" font="{semibold}" fontsize="7%" valign="center" color="{clrWhite}" text="{hourly[timestamp]}" />
<drawimage imagetype="icon" path="{hourly[icon]}" x="18%" valign="center" width="{rowheight}*0.8" height="{rowheight}*0.8"/>
<drawtext x="30%" font="{light}" fontsize="7%" valign="center" color="{clrWhite}" text="{hourly[temperature]}°C" />
<drawtext x="48%" font="{light}" fontsize="5%" valign="center" width="52%" color="{clrWhite}" text="{hourly[summary]}" />
<drawrectangle x="0" y="{rowheight} - 1" width="{columnwidth}" height="1" color="{clrWhite}" />
</loop>
</area>
<area condition="{isdaily}" x="10%" y="5%" width="80%" height="70%" layer="3">
<loop name="daily" x="0" y="0" orientation="vertical" columnwidth="{areawidth}" rowheight="{areaheight}/7" overflow="cut">
<drawtext x="0" font="{semibold}" fontsize="{rowheight}/2" y="5" color="{clrWhite}" text="{daily[dayname]} {daily[day]}" />
<drawtext x="35%" font="{light}" fontsize="{rowheight}/2" y="5" color="{clrWhite}" text="{daily[temperaturemin]}°C - {daily[temperaturemax]}°C" />
<drawtext x="0" font="{light}" fontsize="{rowheight}*0.3" width="{columnwidth} - {rowheight}*0.7" y="{rowheight}*0.6" color="{clrWhite}" text="{daily[summary]}" />
<drawimage imagetype="icon" path="{daily[icon]}" x="{columnwidth} - {rowheight}*0.7" valign="center" width="{rowheight}*0.7" height="{rowheight}*0.7"/>
<drawrectangle x="0" y="{rowheight} - 1" width="{columnwidth}" height="1" color="{clrWhite}" />
</loop>
</area>
</currentelement>
</menuitems>
</menuplugin>

View File

@@ -26,37 +26,14 @@
</area>
</colorbuttons>
<scrollbar>
<scrollbar>
<area x="98%" y="20%" width="2%" height="65%" layer="3">
<fill color="{clrWhite}" />
<drawrectangle x="2" y="2" width="{areawidth} - 4" height="{areaheight} - 4" color="{clrTransparent}" />
<drawrectangle x="4" y="4 + {areaheight} * {offset} / 1000" width="{areawidth} - 8" height="{areaheight} * {height} / 1000 - 8" color="{clrWhite}" />
</area>
</scrollbar>
<!-- Available Variables in detailheader and tab:
{menuheader} "Current Weather"
{city} configured city to display weather for
{latitude} latitude
{longitude} longitude
{timestamp} timestamp in hh:mm dd.mm of current forecast
{temperature} current temperature in °C
{apparenttemperature} apparent (felt) temperature in °C
{temperaturemin} minimum temperature the day in °C
{temperaturemax} maximum temperature the day in °C
{summary} short summary of current weather
{icon} path to use in <drawimage> to display appropriate weather icon
{precipitationintensity} precipitation intensity in l/qm
{precipitationprobability} precipitation probability in %
{precipitationtype} precipitation type (snow, ...)
{humidity} humidity in %
{windspeed} wind speed in km/h
{windbearing} wind bearing in degrees
{windbearingstring} wind bearing as human readable string (e.g NE, NNE, ...)
{visibility} visibility in km
{cloudcover} cloud cover in %
{pressure} pressure in HPa
{ozone} Ozone in DU (Dobson Unit)
-->
<detailheader>
<area x="0" y="0" width="100%" height="20%" layer="2">
<fill color="{clrTransBlueLight}" />

View File

@@ -26,7 +26,7 @@
</area>
</colorbuttons>
<scrollbar>
<scrollbar>
<area x="98%" y="20%" width="2%" height="65%" layer="3">
<fill color="{clrWhite}" />
<drawrectangle x="2" y="2" width="{areawidth} - 4" height="{areaheight} - 4" color="{clrTransparent}" />
@@ -34,34 +34,6 @@
</area>
</scrollbar>
<!-- Available Variables in detailheader and tab:
{summary} short summary of weather
{icon} path to use in <drawimage> to display appropriate weather icon
{city} configured city to display weather for
{latitude} latitude
{longitude} longitude
{daily[day]} day of forecast in dd.mm
{daily[dayname]} three letter abbrivated day name
{daily[temperaturemin]} minimum temperature at this day in °C
{daily[temperaturemintime]} time of minimum temperature
{daily[temperaturemax]} maximum temperature at this day in °C
{daily[temperaturemaxtime]} time of maximum temperature
{daily[summary]} short summary
{daily[icon]} path to use in <drawimage> to display appropriate weather icon
{daily[precipitationintensity]} precipitation intensity in l/qm
{daily[precipitationprobability]} precipitation probability in %
{daily[precipitationtype]} precipitation type (snow, ...)
{daily[humidity]} humidity in %
{daily[windspeed]} wind speed in km/h
{daily[windbearing]} wind bearing in degrees
{daily[windbearingstring]} wind bearing as human readable string (e.g NE, NNE, ...)
{daily[visibility]} visibility in km
{daily[cloudcover]} cloud cover in %
{daily[pressure]} pressure in HPa
{daily[ozone]} Ozone in DU (Dobson Unit)
-->
<detailheader>
<area x="0" y="0" width="100%" height="20%" layer="2">
<fill color="{clrTransBlueLight}" />

View File

@@ -34,32 +34,6 @@
</area>
</scrollbar>
<!-- Available Variables in detailheader and tab:
{summary} short summary of weather
{icon} path to use in <drawimage> to display appropriate weather icon
{city} configured city to display weather for
{latitude} latitude
{longitude} longitude
{hourly[]} array with up to 48 hourly forecasts
{hourly[num]} number of forecast, starting at 1
{hourly[timestamp]} timestamp in hh:mm
{hourly[temperature]} temperature in °C
{hourly[apparenttemperature]} apparent (felt) temperature in °C
{hourly[summary]} short summary
{hourly[icon]} path to use in <drawimage> to display appropriate weather icon
{hourly[precipitationintensity]} precipitation intensity in l/qm
{hourly[precipitationprobability]} precipitation probability in %
{hourly[precipitationtype]} precipitation type (snow, ...)
{hourly[humidity]} humidity in %
{hourly[windspeed]} wind speed in km/h
{hourly[windbearing]} wind bearing in degrees
{hourly[windbearingstring]} wind bearing as human readable string (e.g NE, NNE, ...)
{hourly[visibility]} visibility in km
{hourly[cloudcover]} cloud cover in %
{hourly[pressure]} pressure in HPa
{hourly[ozone]} Ozone in DU (Dobson Unit)
-->
<detailheader>
<area x="0" y="0" width="100%" height="20%" layer="2">
<fill color="{clrTransBlueLight}" />