configurable font for headings and output

This commit is contained in:
Franzi 2020-12-19 09:32:14 +01:00
parent 5af7fe2340
commit 5f724310a5
Signed by: kunsi
GPG key ID: 12E3D2136B818350
2 changed files with 23 additions and 17 deletions

View file

@ -7,15 +7,15 @@
"title": "Display Options", "title": "Display Options",
"type": "section" "type": "section"
}, { }, {
"title": "Background color", "title": "Headings Font",
"ui_width": 4, "ui_width": 6,
"name": "background_color", "name": "header_font",
"type": "color", "type": "font",
"default": [0,0,0,1] "default": "silkscreen.ttf"
}, { }, {
"title": "Font", "title": "Output Font",
"ui_width": 8, "ui_width": 6,
"name": "font", "name": "output_font",
"type": "font", "type": "font",
"default": "silkscreen.ttf" "default": "silkscreen.ttf"
}, { }, {
@ -58,9 +58,15 @@
[30, "30px"], [30, "30px"],
[40, "40px"] [40, "40px"]
] ]
}, {
"title": "Background color",
"ui_width": 3,
"name": "background_color",
"type": "color",
"default": [0,0,0,1]
}, { }, {
"title": "instance name", "title": "instance name",
"ui_width": 12, "ui_width": 9,
"name": "instance_name", "name": "instance_name",
"type": "string", "type": "string",
"default": "icinga2", "default": "icinga2",

View file

@ -51,15 +51,15 @@ function node.render()
titlebar = servics.prettytime titlebar = servics.prettytime
end end
local title_width = CONFIG.font:width(titlebar, CONFIG.output_size) local title_width = CONFIG.header_font:width(titlebar, CONFIG.output_size)
local host_width = 0 local host_width = 0
transform() transform()
CONFIG.background_color.clear() CONFIG.background_color.clear()
CONFIG.font:write(real_width/2-title_width/2, CONFIG.output_size*0.5, titlebar, CONFIG.output_size, 1,1,1,1) CONFIG.header_font:write(real_width/2-title_width/2, CONFIG.output_size*0.5, titlebar, CONFIG.output_size, 1,1,1,1)
for idx, service in ipairs(services.services) do for idx, service in ipairs(services.services) do
host_width = math.max(host_width, CONFIG.font:width(service.host, CONFIG.header_size)) host_width = math.max(host_width, CONFIG.header_font:width(service.host, CONFIG.header_size))
end end
local y = CONFIG.output_size*2 local y = CONFIG.output_size*2
@ -67,10 +67,10 @@ function node.render()
host_size = CONFIG.header_size host_size = CONFIG.header_size
svc_size = CONFIG.header_size svc_size = CONFIG.header_size
while CONFIG.font:width(serv.host, host_size) > real_width/2-20 do while CONFIG.header_font:width(serv.host, host_size) > real_width/2-20 do
host_size = host_size - 2 host_size = host_size - 2
end end
while CONFIG.font:width(serv.service, svc_size) > real_width/2-50 do while CONFIG.header_font:width(serv.service, svc_size) > real_width/2-50 do
svc_size = svc_size - 2 svc_size = svc_size - 2
end end
@ -86,8 +86,8 @@ function node.render()
y = y+margin y = y+margin
CONFIG.font:write(10, y, serv.host, host_size, c_text[serv.state][1],c_text[serv.state][2],c_text[serv.state][2],1) CONFIG.header_font:write(10, y, serv.host, host_size, c_text[serv.state][1],c_text[serv.state][2],c_text[serv.state][2],1)
CONFIG.font:write(indent, y, serv.service, svc_size, c_text[serv.state][1],c_text[serv.state][2],c_text[serv.state][3],1) CONFIG.header_font:write(indent, y, serv.service, svc_size, c_text[serv.state][1],c_text[serv.state][2],c_text[serv.state][3],1)
y = y+CONFIG.header_size+CONFIG.output_size*0.5 y = y+CONFIG.header_size+CONFIG.output_size*0.5
@ -95,7 +95,7 @@ function node.render()
--CONFIG.font:write(10, y, serv.sort, 10, c_text[serv.state][1],c_text[serv.state][2],c_text[serv.state][2],1) --CONFIG.font:write(10, y, serv.sort, 10, c_text[serv.state][1],c_text[serv.state][2],c_text[serv.state][2],1)
for idx, line in ipairs(serv.output) do for idx, line in ipairs(serv.output) do
CONFIG.font:write(indent, y, line, CONFIG.output_size, c_text[serv.state][1],c_text[serv.state][2],c_text[serv.state][3],1) CONFIG.output_font:write(indent, y, line, CONFIG.output_size, c_text[serv.state][1],c_text[serv.state][2],c_text[serv.state][3],1)
y = y+CONFIG.output_size*1.5 y = y+CONFIG.output_size*1.5
end end