Theme

Theme file

Launch retherm with the path to your custom theme.

retherm --theme ./your_theme.toml

All theme options have a default; you only need to include options you would like to override in your theme file.

The screen size is 320x320 pixels, with the origin in the top left.

Fonts

Font can be specified in the format "<name>:<size>" where name is one of the following:

  • Icon: FontAwesome 7.1.0
  • Regular: Roboto Regular
  • Bold: Roboto Bold

Main screen

Customize the look and feel of the main thermostat screen.

[main_screen]
fg_color = "#00ff00"

fg_colour

Colour of text on main screen, default "#ffffff"

bg_colour

Background colour, default "#000000"

bg_heat_colour

Background colour when heating is turned on, default "#F17E3B"

bg_cool_colour

Background colour when cooling is turned on, default "#3B72F1"

bg_fan_colour

Background colour when fan is turned on, default "#0EAEC4"

heat_gauge

Dial styling when in heating mode, default { arc_colour: "#E65D10", arc_dot_colour: "#C4500E", arc_fill: "Below" }

cool_gauge

Dial styling when in cooling mode, default { arc_colour: "#1050E6", arc_dot_colour: "#0E44C4", arc_fill: "Above" }

fan_gauge

Dial styling when in fan mode, default { arc_colour: "#00BCD4", arc_dot_colour: "#0090A3", arc_fill: "Below" }

target_font

Target temp decimal digit font, default "Bold:100"

target_decimal_font

Target temp fraction digit font, default "Bold:40"

fan_timer_font

Fan timer font, default "Bold:80"

status_icon_center

Position of status icon, default [160, 230]

away_icon

Away status icon styling, default { icon_font: "Icon:42", icon: "\u{e50b}", colour: "#ffffff" }

lockout_icon

Lockout status icon styling, default { icon_font: "Icon:42", icon: "\u{f252}", colour: "#ffffff" }

disconnect_icon

Backplate disconnected status icon styling, default { icon_font: "Icon:42", icon: "\u{e560}", colour: "#ffffff" }

fan_icon

Fan mode status icon styling, default { icon_font: "Icon:42", icon: "\u{f863}", colour: "#ffffff" }

status_msg_center

Position of status message, default [160, 280]

status_msg_font

Status message font, default "Regular:20"

Main screen gauge

[main_screen.gauge]
fg_colour = "#00ff00"

fg_colour

Colour of text, default "#ffffff"

arc_dia

Diameter of guage arch, default 260

arc_width

Width of arc, default 20

arc_start_deg

Arc start angle; 0 degrees at 3'oclock, default 120

arc_sweed_deg

Sweep angle of arc, default 300

font

Current value label font, default "Regular:20"

arc_bg_colour

Background fill colour of arc, default "#696969"

arc_target_dot_dia

Diameter of target value dot, default 30

arc_dot_dia

Current value dot diameter, default 12

arc_dot_colour

Current value dot colour, default "#C0C0C0"

arc_text_dia

Diameter of arc current temp label position, default 220

Mode select screen

Customize the look and feel of the mode select screen.

[mode_select]
bg_color = "#000000"

bg_colour

Background colour, default "#000000"

icon_heat_colour

Heat mode icon colour, default "#E65D10"

icon_cool_colour

Cool mode icon colour, default "#1050E6"

icon_fan_colour

Fan mode icon colour, default "#00BCD4"

icon_center

Position of mode icon, default [160, 25]

mode_icon

Mode icon styling, default { icon_font: "Icon:42", icon: "\u{f72e}", colour: "#696969" }

Mode select list style

colour

Colour of list item text, default "#d3d3d3"

label_font

List item font, default "Bold:36"

icon_font

Selected item icon font, default "Icon:20"

selected_icon

Selected item icon, default "\u{f00c}"

highlight_text_colour

Highlighted row text colour, default "#ffffff"

highlight_rect

Style of the highlight row, default { fill_colour: "#", corner_radius: 18 }

row_size

List item row size, default [140, 40]