|
|
|
|
|
|
|
# --- PEARL Display (PX-1184, 320x240) -------------------------------------- #
|
|
|
|
|
|
|
|
Display Pearl_standard {
|
|
|
|
driver 'DPF'
|
|
|
|
port 'usb0'
|
|
|
|
font '16x34'
|
|
|
|
size '320x240'
|
|
|
|
basecolor '000000'
|
|
|
|
foreground 'ffffff'
|
|
|
|
background '00000000'
|
|
|
|
backlight file::readline('/tmp/lcd/brightness', 1)
|
|
|
|
}
|
|
|
|
|
|
|
|
Display Pearl_radio {
|
|
|
|
driver 'DPF'
|
|
|
|
port 'usb0'
|
|
|
|
font '16x34'
|
|
|
|
size '320x240'
|
|
|
|
basecolor '000000'
|
|
|
|
foreground 'ffffff'
|
|
|
|
background '00000000'
|
|
|
|
backlight file::readline('/tmp/lcd/brightness', 1)
|
|
|
|
}
|
|
|
|
|
|
|
|
Display Pearl_large {
|
|
|
|
driver 'DPF'
|
|
|
|
port 'usb0'
|
|
|
|
font '20x48'
|
|
|
|
size '320x240'
|
|
|
|
basecolor '000000'
|
|
|
|
foreground 'ffffff'
|
|
|
|
background '00000000'
|
|
|
|
backlight file::readline('/tmp/lcd/brightness', 1)
|
|
|
|
}
|
|
|
|
|
|
|
|
Display Pearl_small {
|
|
|
|
driver 'DPF'
|
|
|
|
port 'usb0'
|
|
|
|
font '10x16'
|
|
|
|
size '320x240'
|
|
|
|
basecolor '000000'
|
|
|
|
foreground 'ffffff'
|
|
|
|
background '00000000'
|
|
|
|
backlight file::readline('/tmp/lcd/brightness', 1)
|
|
|
|
}
|
|
|
|
|
|
|
|
Display Pearl_d-box2 {
|
|
|
|
driver 'DPF'
|
|
|
|
port 'usb0'
|
|
|
|
font '16x34'
|
|
|
|
size '320x240'
|
|
|
|
basecolor DBOX2COL
|
|
|
|
foreground DBOX2COL
|
|
|
|
background '00000000'
|
|
|
|
backlight file::readline('/tmp/lcd/brightness', 1)
|
|
|
|
}
|
|
|
|
|
|
|
|
Display Pearl_standby {
|
|
|
|
driver 'DPF'
|
|
|
|
port 'usb0'
|
|
|
|
font '16x30'
|
|
|
|
size '320x240'
|
|
|
|
basecolor '000000'
|
|
|
|
foreground 'ffffff'
|
|
|
|
background '00000000'
|
|
|
|
backlight file::readline('/tmp/lcd/brightness_standby', 1)
|
|
|
|
}
|
|
|
|
|
|
|
|
# --- general widgets (partly postfixed with _layout) ----------------------- #
|
|
|
|
|
|
|
|
Widget Pearl_LOGO {
|
|
|
|
class 'Image'
|
|
|
|
file file::exist('/tmp/lcd/menu') == 1 ? ICONS . 'menu.png' : file::readline('/tmp/lcd/logo', 1)
|
|
|
|
update 3300
|
|
|
|
visible file::exist('/tmp/lcd/menu') == 1 ? 1 : file::readline('/tmp/lcd/mode_logo', 1)
|
|
|
|
reload 1
|
|
|
|
center 55
|
|
|
|
scale 100
|
|
|
|
width 320
|
|
|
|
height 55
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_SERVICE {
|
|
|
|
class 'Text'
|
|
|
|
expression file::exist('/tmp/lcd/menu') == 1 ? '' : (file::readline('/tmp/lcd/mode_logo', 1) == 1 ? '' : file::readline('/tmp/lcd/service', 1))
|
|
|
|
align 'PC'
|
|
|
|
width 20
|
|
|
|
update 3300
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_SERVICE_large {
|
|
|
|
class 'Text'
|
|
|
|
expression file::exist('/tmp/lcd/menu') == 1 ? '' : (file::readline('/tmp/lcd/mode_logo', 1) == 1 ? '' : file::readline('/tmp/lcd/service', 1))
|
|
|
|
align 'PC'
|
|
|
|
width 16
|
|
|
|
update 3300
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_SERVICE_small {
|
|
|
|
class 'Text'
|
|
|
|
expression file::exist('/tmp/lcd/menu') == 1 ? '' : (file::readline('/tmp/lcd/mode_logo', 1) == 1 ? '' : file::readline('/tmp/lcd/service', 1))
|
|
|
|
align 'PC'
|
|
|
|
width 32
|
|
|
|
update 3300
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_SERVICE_d-box2 {
|
|
|
|
class 'Text'
|
|
|
|
#expression file::readline('/tmp/lcd/service', 1)
|
|
|
|
expression file::exist('/tmp/lcd/menu') == 1 ? '' : (file::readline('/tmp/lcd/mode_logo', 1) == 1 ? '' : file::readline('/tmp/lcd/service', 1))
|
|
|
|
align 'PC'
|
|
|
|
width 20
|
|
|
|
update 3300
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_EVENT {
|
|
|
|
class 'Text'
|
|
|
|
expression file::exist('/tmp/lcd/menu') == 1 ? file::readline('/tmp/lcd/menu', 1) : file::readline('/tmp/lcd/event', 1)
|
|
|
|
align 'PC'
|
|
|
|
width 20
|
|
|
|
update 250
|
|
|
|
speed 325
|
|
|
|
foreground 'fd6d13'
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_EVENT_large {
|
|
|
|
class 'Text'
|
|
|
|
expression file::exist('/tmp/lcd/menu') == 1 ? file::readline('/tmp/lcd/menu', 1) : file::readline('/tmp/lcd/event', 1)
|
|
|
|
align 'PC'
|
|
|
|
width 16
|
|
|
|
update 250
|
|
|
|
speed 325
|
|
|
|
foreground 'fd6d13'
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_EVENT_small {
|
|
|
|
class 'Text'
|
|
|
|
expression file::exist('/tmp/lcd/menu') == 1 ? file::readline('/tmp/lcd/menu', 1) : file::readline('/tmp/lcd/event', 1)
|
|
|
|
align 'PC'
|
|
|
|
width 32
|
|
|
|
update 250
|
|
|
|
speed 325
|
|
|
|
foreground 'fd6d13'
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_EVENT_d-box2 {
|
|
|
|
class 'Text'
|
|
|
|
expression file::exist('/tmp/lcd/menu') == 1 ? file::readline('/tmp/lcd/menu', 1) : file::readline('/tmp/lcd/event', 1)
|
|
|
|
align 'PC'
|
|
|
|
width 20
|
|
|
|
update 250
|
|
|
|
speed 325
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_PROGRESS {
|
|
|
|
class 'Bar'
|
|
|
|
expression 0
|
|
|
|
expression2 file::exist('/tmp/lcd/menu') == 1 ? 0 : file::readline('/tmp/lcd/progress', 1)
|
|
|
|
min 0
|
|
|
|
max 100
|
|
|
|
length 18
|
|
|
|
update 2600
|
|
|
|
foreground 'fd6d13aa'
|
|
|
|
barcolor0 '00000000'
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_PROGRESS_large {
|
|
|
|
class 'Bar'
|
|
|
|
expression file::exist('/tmp/lcd/menu') == 1 ? 0 : file::readline('/tmp/lcd/progress', 1)
|
|
|
|
min 0
|
|
|
|
max 100
|
|
|
|
length 14
|
|
|
|
update 2600
|
|
|
|
foreground '000000aa'
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_PROGRESS_small {
|
|
|
|
class 'Bar'
|
|
|
|
expression file::exist('/tmp/lcd/menu') == 1 ? 0 : file::readline('/tmp/lcd/progress', 1)
|
|
|
|
min 0
|
|
|
|
max 100
|
|
|
|
length 30
|
|
|
|
update 2600
|
|
|
|
foreground 'fd6d13aa'
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_PROGRESS_d-box2 {
|
|
|
|
class 'Bar'
|
|
|
|
expression 0
|
|
|
|
expression2 file::exist('/tmp/lcd/menu') == 1 ? 0 : file::readline('/tmp/lcd/progress', 1)
|
|
|
|
min 0
|
|
|
|
max 100
|
|
|
|
length 10
|
|
|
|
update 2600
|
|
|
|
barcolor0 '00000000'
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_DURATION {
|
|
|
|
class 'Text'
|
|
|
|
expression file::exist('/tmp/lcd/menu') == 1 ? '' : file::readline('/tmp/lcd/duration', 1)
|
|
|
|
align 'R'
|
|
|
|
width 13
|
|
|
|
update 500
|
|
|
|
foreground 'fd6d13'
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_VOLUME_d-box2 {
|
|
|
|
class 'Bar'
|
|
|
|
expression file::readline('/tmp/lcd/volume', 1)
|
|
|
|
expression2 0
|
|
|
|
min 0
|
|
|
|
max 100
|
|
|
|
length 10
|
|
|
|
update 1000
|
|
|
|
barcolor1 '00000000'
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_TIME {
|
|
|
|
class 'Text'
|
|
|
|
expression strftime('%H:%M', time())
|
|
|
|
align 'L'
|
|
|
|
width 5
|
|
|
|
update 5000
|
|
|
|
foreground '9E9E9E'
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_TIME_d-box2 {
|
|
|
|
class 'Text'
|
|
|
|
expression strftime('%H:%M', time())
|
|
|
|
align 'L'
|
|
|
|
width 5
|
|
|
|
update 5000
|
|
|
|
}
|
|
|
|
|
|
|
|
# --- system-info ----------------------------------------------------------- #
|
|
|
|
|
|
|
|
Widget Pearl_CPU {
|
|
|
|
class 'Text'
|
|
|
|
prefix 'CPU: '
|
|
|
|
expression proc_stat::cpu('busy', 500)
|
|
|
|
postfix '%'
|
|
|
|
precision 1
|
|
|
|
align 'R'
|
|
|
|
width 11
|
|
|
|
update 1000
|
|
|
|
foreground '9E9E9E'
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_CPU_BAR {
|
|
|
|
class 'Bar'
|
|
|
|
expression proc_stat::cpu('busy', 500)
|
|
|
|
min 0
|
|
|
|
max 100
|
|
|
|
length 17
|
|
|
|
style 'H'
|
|
|
|
update 500
|
|
|
|
foreground '9E9E9E'
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_RAM {
|
|
|
|
class 'Text'
|
|
|
|
prefix 'RAM: '
|
|
|
|
expression 100 - ((meminfo('MemFree') * 100) / meminfo('MemTotal'))
|
|
|
|
postfix '%'
|
|
|
|
precision 1
|
|
|
|
align 'R'
|
|
|
|
width 11
|
|
|
|
update 1000
|
|
|
|
foreground '9E9E9E'
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_MTD {
|
|
|
|
class 'Text'
|
|
|
|
prefix 'MTD: '
|
|
|
|
expression 100 - (statfs('/', 'bfree') * 100) / statfs('/', 'blocks')
|
|
|
|
postfix '%'
|
|
|
|
precision 1
|
|
|
|
align 'R'
|
|
|
|
width 11
|
|
|
|
update 1000
|
|
|
|
foreground '9E9E9E'
|
|
|
|
}
|
|
|
|
|
|
|
|
# --- general mode-icons ---------------------------------------------------- #
|
|
|
|
|
|
|
|
Widget Pearl_ICON_ECM {
|
|
|
|
class 'Image'
|
|
|
|
file ICONS . 'mode/ecm_' . file::readline('/tmp/lcd/mode_ecm', 1) . '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_ICON_TIMER {
|
|
|
|
class 'Image'
|
|
|
|
file ICONS . 'mode/timer_' . file::readline('/tmp/lcd/mode_timer', 1) . '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_ICON_REC {
|
|
|
|
class 'Image'
|
|
|
|
file ICONS . 'mode/rec_' . file::readline('/tmp/lcd/mode_rec', 1) . '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_ICON_TS {
|
|
|
|
class 'Image'
|
|
|
|
file ICONS . 'mode/ts_' . file::readline('/tmp/lcd/mode_tshift', 1) . '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
}
|
|
|
|
|
|
|
|
# --- d-box2 mode-icons ----------------------------------------------------- #
|
|
|
|
|
|
|
|
Widget Pearl_ICON_ECM_d-box2 {
|
|
|
|
class 'Image'
|
|
|
|
file ICONS . 'mode/d-box2/ecm_' . file::readline('/tmp/lcd/mode_ecm', 1) . '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_ICON_TIMER_d-box2 {
|
|
|
|
class 'Image'
|
|
|
|
file ICONS . 'mode/d-box2/timer_' . file::readline('/tmp/lcd/mode_timer', 1) . '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_ICON_REC_d-box2 {
|
|
|
|
class 'Image'
|
|
|
|
file ICONS . 'mode/d-box2/rec_' . file::readline('/tmp/lcd/mode_rec', 1) . '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_ICON_TS_d-box2 {
|
|
|
|
class 'Image'
|
|
|
|
file ICONS . 'mode/d-box2/ts_' . file::readline('/tmp/lcd/mode_tshift', 1) . '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
}
|
|
|
|
|
|
|
|
# --- the background -------------------------------------------------------- #
|
|
|
|
|
|
|
|
Widget Pearl_BACKGROUND {
|
|
|
|
class 'Image'
|
|
|
|
file ICONS . 'background/' . file::readline('/tmp/lcd/layout', 1) . '.png'
|
|
|
|
update 0
|
|
|
|
}
|
|
|
|
|
|
|
|
# --- the clocks for standby-mode ------------------------------------------- #
|
|
|
|
|
|
|
|
# --- the digital clock ----------------------------------------------------- #
|
|
|
|
|
|
|
|
Widget Pearl_HOUR1_ {
|
|
|
|
class 'image'
|
|
|
|
file file::exist(FCLOCK) == 1 ? ICONS . 'blank.png' : ICONS . 'clock/digital/' . substr(strftime('%H', time()), 0, 1) . '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_HOUR_1 {
|
|
|
|
class 'image'
|
|
|
|
file file::exist(FCLOCK) == 1 ? ICONS . 'blank.png' : ICONS . 'clock/digital/' . substr(strftime('%H', time()), 1) . '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_DP {
|
|
|
|
class 'Image'
|
|
|
|
file file::exist(FCLOCK) == 1 ? ICONS . 'blank.png' : ICONS . 'clock/digital/dp.png'
|
|
|
|
update 0
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_MIN1_ {
|
|
|
|
class 'image'
|
|
|
|
file file::exist(FCLOCK) == 1 ? ICONS . 'blank.png' : ICONS . 'clock/digital/' . substr(strftime('%M', time()), 0, 1) . '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_MIN_1 {
|
|
|
|
class 'image'
|
|
|
|
file file::exist(FCLOCK) == 1 ? ICONS . 'blank.png' : ICONS . 'clock/digital/' . substr(strftime('%M', time()), 1) . '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
}
|
|
|
|
|
|
|
|
# --- the analog clock ------------------------------------------------------ #
|
|
|
|
|
|
|
|
Widget Pearl_DIAL_A {
|
|
|
|
class 'image'
|
|
|
|
file file::exist(FCLOCK) == 0 ? ICONS . 'blank.png' : ICONS . 'clock/analog/dial.png'
|
|
|
|
update 0
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_HOUR_A {
|
|
|
|
class 'image'
|
|
|
|
file file::exist(FCLOCK) == 0 ? ICONS . 'blank.png' : ICONS . 'clock/analog/h' . ( ( (strftime('%I', time()) == 12 ? 0 : strftime('%I', time())) *5) + substr((strftime('%M', time()) / 12), 0, 1) ). '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Pearl_MIN_A {
|
|
|
|
class 'image'
|
|
|
|
file file::exist(FCLOCK) == 0 ? ICONS . 'blank.png' : ICONS . 'clock/analog/m' . strftime('%M', time()) . '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
}
|
|
|
|
|
|
|
|
# --- the weather ----------------------------------------------------------- #
|
|
|
|
|
|
|
|
Widget EXEC_WEATHER-SCRIPT {
|
|
|
|
class 'Text'
|
|
|
|
expression exec('/share/lcd/scripts/weather', 900000) # 15 minutes
|
|
|
|
width 0
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget ICON_WEATHER {
|
|
|
|
class 'Image'
|
|
|
|
file file::exist(FWEATHER) == 0 ? ICONS . 'weather/weather_off.png' : ICONS . 'weather/weather_on.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget WEATHERICON_CURRENT {
|
|
|
|
class 'image'
|
|
|
|
file file::exist(FWEATHER) == 0 ? ICONS . 'weather/0000.png' : ICONS . 'weather/' . file::readline('/tmp/lcd/weathericons', 1)
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget WEATHERICON_LATER {
|
|
|
|
class 'image'
|
|
|
|
file file::exist(FWEATHER) == 0 ? ICONS . 'weather/0000.png' : ICONS . 'weather/' . file::readline('/tmp/lcd/weathericons', strftime('%H', time()) < 16 ? 2 : 3)
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget TEMPERATURE_CURRENT {
|
|
|
|
class 'Text'
|
|
|
|
expression file::exist(FWEATHER) == 0 ? '' : file::readline('/tmp/lcd/temperatures', 1)
|
|
|
|
align 'L'
|
|
|
|
width 3
|
|
|
|
update 10000
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget TEMPERATURE_LATER {
|
|
|
|
class 'Text'
|
|
|
|
expression file::exist(FWEATHER) == 0 ? '' : file::readline('/tmp/lcd/temperatures', strftime('%H', time()) < 16 ? 2 : 3)
|
|
|
|
align 'R'
|
|
|
|
width 3
|
|
|
|
update 10000
|
|
|
|
}
|
|
|
|
|
|
|
|
# --------------------------------------------------------------------------- #
|
|
|
|
|
|
|
|
Layout Pearl_standard {
|
|
|
|
layer 0 {
|
|
|
|
row02.col01 'Pearl_SERVICE'
|
|
|
|
row04.col01 'Pearl_EVENT'
|
|
|
|
row05.col02 'Pearl_PROGRESS'
|
|
|
|
row07 {
|
|
|
|
col07 'Pearl_DURATION'
|
|
|
|
col02 'Pearl_TIME'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
layer 1 {
|
|
|
|
x008.y073 'Pearl_ICON_ECM'
|
|
|
|
x008.y217 'Pearl_ICON_TIMER'
|
|
|
|
x008.y258 'Pearl_ICON_REC'
|
|
|
|
x008.y289 'Pearl_ICON_TS'
|
|
|
|
|
|
|
|
x021.y001 'Pearl_LOGO'
|
|
|
|
}
|
|
|
|
|
|
|
|
layer 2 {
|
|
|
|
x001.y001 'Pearl_BACKGROUND'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Layout Pearl_radio {
|
|
|
|
layer 0 {
|
|
|
|
row02.col01 'Pearl_SERVICE'
|
|
|
|
row04.col01 'Pearl_EVENT'
|
|
|
|
row05.col02 'Pearl_PROGRESS'
|
|
|
|
row07 {
|
|
|
|
col07 'Pearl_DURATION'
|
|
|
|
col02 'Pearl_TIME'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
layer 1 {
|
|
|
|
x008.y073 'Pearl_ICON_ECM'
|
|
|
|
x008.y217 'Pearl_ICON_TIMER'
|
|
|
|
x008.y258 'Pearl_ICON_REC'
|
|
|
|
x008.y289 'Pearl_ICON_TS'
|
|
|
|
|
|
|
|
x021.y001 'Pearl_LOGO'
|
|
|
|
}
|
|
|
|
|
|
|
|
layer 2 {
|
|
|
|
x001.y001 'Pearl_BACKGROUND'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Layout Pearl_large {
|
|
|
|
layer 0 {
|
|
|
|
row02.col01 'Pearl_SERVICE_large'
|
|
|
|
row04.col01 'Pearl_EVENT_large'
|
|
|
|
row05.col02 'Pearl_PROGRESS_large'
|
|
|
|
}
|
|
|
|
|
|
|
|
layer 1 {
|
|
|
|
x008.y073 'Pearl_ICON_ECM'
|
|
|
|
x008.y217 'Pearl_ICON_TIMER'
|
|
|
|
x008.y258 'Pearl_ICON_REC'
|
|
|
|
x008.y289 'Pearl_ICON_TS'
|
|
|
|
|
|
|
|
x044.y001 'Pearl_LOGO'
|
|
|
|
}
|
|
|
|
|
|
|
|
layer 2 {
|
|
|
|
x001.y001 'Pearl_BACKGROUND'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Layout Pearl_small {
|
|
|
|
layer 0 {
|
|
|
|
row04.col01 'Pearl_SERVICE_small'
|
|
|
|
row06.col01 'Pearl_EVENT_small'
|
|
|
|
row08.col02 'Pearl_PROGRESS_small'
|
|
|
|
row12 {
|
|
|
|
col02 'Pearl_CPU'
|
|
|
|
col15 'Pearl_CPU_BAR'
|
|
|
|
}
|
|
|
|
row13.col02 'Pearl_RAM'
|
|
|
|
row14 {
|
|
|
|
col02 'Pearl_MTD'
|
|
|
|
col27 'Pearl_TIME'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
layer 1 {
|
|
|
|
x008.y073 'Pearl_ICON_ECM'
|
|
|
|
x008.y217 'Pearl_ICON_TIMER'
|
|
|
|
x008.y258 'Pearl_ICON_REC'
|
|
|
|
x008.y289 'Pearl_ICON_TS'
|
|
|
|
|
|
|
|
x021.y001 'Pearl_LOGO'
|
|
|
|
}
|
|
|
|
|
|
|
|
layer 2 {
|
|
|
|
x001.y001 'Pearl_BACKGROUND'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Layout Pearl_d-box2 {
|
|
|
|
layer 0 {
|
|
|
|
row01.col04 'Pearl_PROGRESS_d-box2'
|
|
|
|
row03.col01 'Pearl_SERVICE_d-box2'
|
|
|
|
row05.col01 'Pearl_EVENT_d-box2'
|
|
|
|
row07 {
|
|
|
|
col04 'Pearl_VOLUME_d-box2'
|
|
|
|
col15 'Pearl_TIME_d-box2'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
layer 1 {
|
|
|
|
x045.y073 'Pearl_ICON_ECM_d-box2'
|
|
|
|
x045.y217 'Pearl_ICON_TIMER_d-box2'
|
|
|
|
x045.y258 'Pearl_ICON_REC_d-box2'
|
|
|
|
x045.y289 'Pearl_ICON_TS_d-box2'
|
|
|
|
|
|
|
|
x060.y001 'Pearl_LOGO'
|
|
|
|
}
|
|
|
|
|
|
|
|
layer 2 {
|
|
|
|
x001.y001 'Pearl_BACKGROUND'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Layout Pearl_standby {
|
|
|
|
layer 0 {
|
|
|
|
x020.y085 'Pearl_MIN_A'
|
|
|
|
|
|
|
|
X034.Y025 'Pearl_HOUR1_'
|
|
|
|
X034.Y085 'Pearl_HOUR_1'
|
|
|
|
X034.Y145 'Pearl_DP'
|
|
|
|
X034.Y175 'Pearl_MIN1_'
|
|
|
|
X034.Y235 'Pearl_MIN_1'
|
|
|
|
|
|
|
|
row01.col1 'EXEC_WEATHER-SCRIPT'
|
|
|
|
x225.y132 'ICON_WEATHER'
|
|
|
|
X168.Y017 'WEATHERICON_CURRENT'
|
|
|
|
X168.Y241 'WEATHERICON_LATER'
|
|
|
|
row07.col07 'TEMPERATURE_CURRENT'
|
|
|
|
row07.col12 'TEMPERATURE_LATER'
|
|
|
|
}
|
|
|
|
|
|
|
|
layer 1 {
|
|
|
|
x020.y085 'Pearl_HOUR_A'
|
|
|
|
|
|
|
|
x008.y073 'Pearl_ICON_ECM'
|
|
|
|
x008.y217 'Pearl_ICON_TIMER'
|
|
|
|
x008.y258 'Pearl_ICON_REC'
|
|
|
|
x008.y289 'Pearl_ICON_TS'
|
|
|
|
}
|
|
|
|
|
|
|
|
layer 2 {
|
|
|
|
x020.y000 'Pearl_DIAL_A'
|
|
|
|
|
|
|
|
x001.y001 'Pearl_BACKGROUND'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
# --- SAMSUNG SPF-87H (800x480) --------------------------------------------- #
|
|
|
|
|
|
|
|
Display Samsung_standard {
|
|
|
|
driver 'SamsungSPF'
|
|
|
|
model 'SPF-AUTO'
|
|
|
|
port 'usb0'
|
|
|
|
font '20x40'
|
|
|
|
size '800x480'
|
|
|
|
basecolor 'dddddd'
|
|
|
|
foreground 'ffffff'
|
|
|
|
background '00000000'
|
|
|
|
orientation 1
|
|
|
|
backlight file::readline('/tmp/lcd/brightness', 1)
|
|
|
|
}
|
|
|
|
|
|
|
|
Display Samsung_radio {
|
|
|
|
driver 'SamsungSPF'
|
|
|
|
model 'SPF-AUTO'
|
|
|
|
port 'usb0'
|
|
|
|
font '20x40'
|
|
|
|
size '800x480'
|
|
|
|
basecolor 'dddddd'
|
|
|
|
foreground 'ffffff'
|
|
|
|
background '00000000'
|
|
|
|
orientation 1
|
|
|
|
backlight file::readline('/tmp/lcd/brightness', 1)
|
|
|
|
}
|
|
|
|
|
|
|
|
Display Samsung_standby {
|
|
|
|
driver 'SamsungSPF'
|
|
|
|
model 'SPF-AUTO'
|
|
|
|
port 'usb0'
|
|
|
|
font '20x40'
|
|
|
|
size '800x480'
|
|
|
|
basecolor '000000'
|
|
|
|
foreground 'ffffff'
|
|
|
|
background '00000000'
|
|
|
|
orientation 1
|
|
|
|
backlight file::readline('/tmp/lcd/brightness_standby', 1)
|
|
|
|
}
|
|
|
|
|
|
|
|
# --------------------------------------------------------------------------- #
|
|
|
|
|
|
|
|
Widget Samsung_STANDBY {
|
|
|
|
class 'Image'
|
|
|
|
file ICONS . '1x1_black.png'
|
|
|
|
reload 0
|
|
|
|
update 0
|
|
|
|
inverted 0
|
|
|
|
width 1600
|
|
|
|
height 960
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Samsung_BACKGROUND {
|
|
|
|
class 'Image'
|
|
|
|
file ICONS . '1x1_black.png'
|
|
|
|
reload 0
|
|
|
|
inverted 0
|
|
|
|
width 1600
|
|
|
|
height 960
|
|
|
|
update 10000
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Samsung_TUNER {
|
|
|
|
class 'Image'
|
|
|
|
file SYSICONS . 'tuner_' . file::readline('/tmp/lcd/tuner', 1) .'.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
inverted 0
|
|
|
|
scale 225
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Samsung_REC {
|
|
|
|
class 'Image'
|
|
|
|
file file::readline('/tmp/lcd/mode_rec_icon', 1)
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
inverted 0
|
|
|
|
scale 225
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Samsung_ECM {
|
|
|
|
class 'Image'
|
|
|
|
file strstr(file::readline('/tmp/lcd/mode_ecm', 1), 'on') == 0 ? ICONS . 'crypted.png' : ICONS . 'open.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
scale 50
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Samsung_LOGO {
|
|
|
|
class 'Image'
|
|
|
|
file file::readline('/tmp/lcd/logo', 1)
|
|
|
|
update 5000
|
|
|
|
reload 1
|
|
|
|
inverted 0
|
|
|
|
scale 250
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Samsung_START {
|
|
|
|
class 'Truetype'
|
|
|
|
font file::readline('/tmp/lcd/font', 1)
|
|
|
|
fcolor file::readline('/tmp/lcd/fgcolor', 1)
|
|
|
|
size 0
|
|
|
|
width 130
|
|
|
|
height 40
|
|
|
|
align 'L'
|
|
|
|
expression file::readline('/tmp/lcd/start', 1)
|
|
|
|
update 5000
|
|
|
|
reload 1
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Samsung_END {
|
|
|
|
class 'Truetype'
|
|
|
|
font file::readline('/tmp/lcd/font', 1)
|
|
|
|
fcolor file::readline('/tmp/lcd/fgcolor', 1)
|
|
|
|
size 0
|
|
|
|
height 40
|
|
|
|
width 130
|
|
|
|
align 'R'
|
|
|
|
expression file::readline('/tmp/lcd/end', 1)
|
|
|
|
update 5000
|
|
|
|
reload 1
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Samsung_TTF-CHANNEL {
|
|
|
|
class 'Truetype'
|
|
|
|
expression file::readline('/tmp/lcd/service', 1)
|
|
|
|
font file::readline('/tmp/lcd/font', 1)
|
|
|
|
fcolor file::readline('/tmp/lcd/fgcolor', 1)
|
|
|
|
update 5000
|
|
|
|
reload 1
|
|
|
|
inverted 0
|
|
|
|
size 0
|
|
|
|
width 770
|
|
|
|
height 40
|
|
|
|
align 'M'
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Samsung_TTF-EPG-NOW {
|
|
|
|
class 'Truetype'
|
|
|
|
expression file::readline('/tmp/lcd/event', 1)
|
|
|
|
font file::readline('/tmp/lcd/font', 1)
|
|
|
|
fcolor file::readline('/tmp/lcd/fgcolor', 1)
|
|
|
|
update 5000
|
|
|
|
reload 1
|
|
|
|
inverted 0
|
|
|
|
size 0
|
|
|
|
width 770
|
|
|
|
height 80
|
|
|
|
align 'M'
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Samsung_TTF-EPG-NEXT {
|
|
|
|
class 'Truetype'
|
|
|
|
expression file::readline('/tmp/lcd/event', 2)
|
|
|
|
font file::readline('/tmp/lcd/font', 1)
|
|
|
|
fcolor file::readline('/tmp/lcd/fgcolor', 1)
|
|
|
|
update 5000
|
|
|
|
reload 1
|
|
|
|
inverted 0
|
|
|
|
size 0
|
|
|
|
width 770
|
|
|
|
height 40
|
|
|
|
align 'M'
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Samsung_EPGBAR {
|
|
|
|
class 'Bar'
|
|
|
|
expression file::readline('/tmp/lcd/progress', 1)
|
|
|
|
min 0
|
|
|
|
max 100
|
|
|
|
length 26
|
|
|
|
background '000000'
|
|
|
|
foreground '0000dd'
|
|
|
|
style 'H'
|
|
|
|
}
|
|
|
|
|
|
|
|
# --- the analog clock ------------------------------------------------------ #
|
|
|
|
|
|
|
|
Widget Samsung_DIAL_A {
|
|
|
|
class 'image'
|
|
|
|
file file::exist(FCLOCK) == 0 ? ICONS . 'blank.png' : ICONS . 'clock/analog/dial.png'
|
|
|
|
update 0
|
|
|
|
scale 300
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Samsung_HOUR_A {
|
|
|
|
class 'image'
|
|
|
|
file file::exist(FCLOCK) == 0 ? ICONS . 'blank.png' : ICONS . 'clock/analog/h' . ( ( (strftime('%I', time()) == 12 ? 0 : strftime('%I', time())) *5) + substr((strftime('%M', time()) / 12), 0, 1) ). '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
scale 290
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Samsung_MIN_A {
|
|
|
|
class 'image'
|
|
|
|
file file::exist(FCLOCK) == 0 ? ICONS . 'blank.png' : ICONS . 'clock/analog/m' . strftime('%M', time()) . '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
scale 290
|
|
|
|
}
|
|
|
|
|
|
|
|
# --- the digital clock ----------------------------------------------------- #
|
|
|
|
|
|
|
|
Widget Samsung_HOUR1_ {
|
|
|
|
class 'image'
|
|
|
|
file ICONS . 'clock/digital/' . substr(strftime('%H', time()), 0, 1) . '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
scale 100
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Samsung_HOUR_1 {
|
|
|
|
class 'image'
|
|
|
|
file ICONS . 'clock/digital/' . substr(strftime('%H', time()), 1) . '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
scale 100
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Samsung_DP {
|
|
|
|
class 'Image'
|
|
|
|
file ICONS . 'clock/digital/dp.png'
|
|
|
|
update 0
|
|
|
|
scale 100
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Samsung_MIN1_ {
|
|
|
|
class 'image'
|
|
|
|
file ICONS . 'clock/digital/' . substr(strftime('%M', time()), 0, 1) . '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
scale 100
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Samsung_MIN_1 {
|
|
|
|
class 'image'
|
|
|
|
file ICONS . 'clock/digital/' . substr(strftime('%M', time()), 1) . '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
scale 100
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Samsung_STANDBY_HOUR1_ {
|
|
|
|
class 'image'
|
|
|
|
file file::exist(FCLOCK) == 1 ? ICONS . 'blank.png' : ICONS . 'clock/digital/' . substr(strftime('%H', time()), 0, 1) . '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
scale 280
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Samsung_STANDBY_HOUR_1 {
|
|
|
|
class 'image'
|
|
|
|
file file::exist(FCLOCK) == 1 ? ICONS . 'blank.png' : ICONS . 'clock/digital/' . substr(strftime('%H', time()), 1) . '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
scale 280
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Samsung_STANDBY_DP {
|
|
|
|
class 'Image'
|
|
|
|
file file::exist(FCLOCK) == 1 ? ICONS . 'blank.png' : ICONS . 'clock/digital/dp.png'
|
|
|
|
update 0
|
|
|
|
scale 280
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Samsung_STANDBY_MIN1_ {
|
|
|
|
class 'image'
|
|
|
|
file file::exist(FCLOCK) == 1 ? ICONS . 'blank.png' : ICONS . 'clock/digital/' . substr(strftime('%M', time()), 0, 1) . '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
scale 280
|
|
|
|
}
|
|
|
|
|
|
|
|
Widget Samsung_STANDBY_MIN_1 {
|
|
|
|
class 'image'
|
|
|
|
file file::exist(FCLOCK) == 1 ? ICONS . 'blank.png' : ICONS . 'clock/digital/' . substr(strftime('%M', time()), 1) . '.png'
|
|
|
|
update 10000
|
|
|
|
reload 1
|
|
|
|
scale 280
|
|
|
|
}
|
|
|
|
|
|
|
|
# --------------------------------------------------------------------------- #
|
|
|
|
|
|
|
|
Layout Samsung_standard {
|
|
|
|
Layer 0 {
|
|
|
|
X15.Y15 'Samsung_HOUR1_'
|
|
|
|
X15.Y75 'Samsung_HOUR_1'
|
|
|
|
X15.Y135 'Samsung_DP'
|
|
|
|
X15.Y165 'Samsung_MIN1_'
|
|
|
|
X15.Y225 'Samsung_MIN_1'
|
|
|
|
X15.Y300 'Samsung_LOGO'
|
|
|
|
X250.Y15 'Samsung_TTF-EPG-NOW'
|
|
|
|
X340.Y15 'Samsung_TTF-CHANNEL'
|
|
|
|
X390.Y15 'Samsung_TTF-EPG-NEXT'
|
|
|
|
X440.Y1 'Samsung_START'
|
|
|
|
X440.Y670 'Samsung_END'
|
|
|
|
}
|
|
|
|
Layer 1 {
|
|
|
|
Row12.Col08 'Samsung_EPGBAR'
|
|
|
|
}
|
|
|
|
Layer 2 {
|
|
|
|
X1.Y1 'Samsung_BACKGROUND'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Layout Samsung_radio {
|
|
|
|
Layer 0 {
|
|
|
|
X15.Y15 'Samsung_HOUR1_'
|
|
|
|
X15.Y75 'Samsung_HOUR_1'
|
|
|
|
X15.Y135 'Samsung_DP'
|
|
|
|
X15.Y165 'Samsung_MIN1_'
|
|
|
|
X15.Y225 'Samsung_MIN_1'
|
|
|
|
X15.Y300 'Samsung_LOGO'
|
|
|
|
X250.Y15 'Samsung_TTF-EPG-NOW'
|
|
|
|
X340.Y15 'Samsung_TTF-CHANNEL'
|
|
|
|
X390.Y15 'Samsung_TTF-EPG-NEXT'
|
|
|
|
X440.Y1 'Samsung_START'
|
|
|
|
X440.Y670 'Samsung_END'
|
|
|
|
}
|
|
|
|
Layer 1 {
|
|
|
|
Row12.Col08 'Samsung_EPGBAR'
|
|
|
|
}
|
|
|
|
Layer 2 {
|
|
|
|
X1.Y1 'Samsung_BACKGROUND'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Layout Samsung_standby {
|
|
|
|
layer 0 {
|
|
|
|
x024.y190 'Samsung_MIN_A'
|
|
|
|
|
|
|
|
X125.Y020 'Samsung_STANDBY_HOUR1_'
|
|
|
|
X125.Y188 'Samsung_STANDBY_HOUR_1'
|
|
|
|
X125.Y355 'Samsung_STANDBY_DP'
|
|
|
|
X125.Y439 'Samsung_STANDBY_MIN1_'
|
|
|
|
X125.Y607 'Samsung_STANDBY_MIN_1'
|
|
|
|
}
|
|
|
|
layer 1 {
|
|
|
|
x024.y190 'Samsung_HOUR_A'
|
|
|
|
}
|
|
|
|
layer 2 {
|
|
|
|
x001.y001 'Samsung_STANDBY'
|
|
|
|
x015.y182 'Samsung_DIAL_A'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
# --- General Settings ------------------------------------------------------ #
|
|
|
|
|
|
|
|
Variables {
|
|
|
|
ICONS '/share/lcd/icons/'
|
|
|
|
SYSICONS '/share/tuxbox/neutrino/icons/'
|
|
|
|
FWEATHER '/var/etc/.lcd-weather'
|
|
|
|
FCLOCK '/var/etc/.lcd-clock_a'
|
|
|
|
|
|
|
|
# color for layout "d-box2" {
|
|
|
|
#DBOX2COL 'F44336' # red
|
|
|
|
#DBOX2COL '4CAF50' # green
|
|
|
|
#DBOX2COL '3F51B5' # blue
|
|
|
|
DBOX2COL 'F5F5F5' # white
|
|
|
|
#DBOX2COL 'FFEB3B' # yellow
|
|
|
|
#DBOX2COL 'E91E63' # pink
|
|
|
|
# }
|
|
|
|
}
|
|
|
|
|
|
|
|
# --------------------------------------------------------------------------- #
|
|
|
|
|
|
|
|
Display file::readline('/tmp/lcd/layout', 1)
|
|
|
|
|
|
|
|
Layout file::readline('/tmp/lcd/layout', 1)
|
|
|
|
|
|
|
|
# --------------------------------------------------------------------------- #
|