Selectable font size for screensaver time display

Solves #1689
This commit is contained in:
Edward Firmo
2024-02-21 00:12:36 +01:00
parent 9b1e652040
commit 9a2a2a4273
11 changed files with 47 additions and 14 deletions

View File

@@ -526,6 +526,7 @@ api:
mui_please_confirm: string
mui_unavailable: string
screensaver_time: bool
screensaver_time_font: int
screensaver_time_color: int[]
then:
- script.execute:
@@ -538,6 +539,7 @@ api:
mui_please_confirm: !lambda "return mui_please_confirm;"
mui_unavailable: !lambda "return mui_unavailable;"
screensaver_time: !lambda "return screensaver_time;"
screensaver_time_font: !lambda "return screensaver_time_font;"
screensaver_time_color: !lambda "return screensaver_time_color;"
- script.wait: global_settings
- lambda: |-
@@ -1504,8 +1506,12 @@ globals:
##### Screensaver #####
- id: screensaver_display_time
type: bool
restore_value: false
restore_value: true
initial_value: 'false'
- id: screensaver_display_time_font
type: int
restore_value: true
initial_value: '6'
- id: screensaver_display_time_color
type: std::vector<int32_t>
restore_value: false
@@ -2513,6 +2519,7 @@ script:
mui_please_confirm: string
mui_unavailable: string
screensaver_time: bool
screensaver_time_font: int
screensaver_time_color: int32_t[]
then:
- lambda: |-
@@ -2539,6 +2546,7 @@ script:
// Screen saver page (sleep)
ESP_LOGV(TAG, "Setup screensaver page");
id(screensaver_display_time) = screensaver_time;
id(screensaver_display_time_font) = screensaver_time_font;
id(screensaver_display_time_color) = screensaver_time_color;
page_screensaver->execute();
@@ -2916,8 +2924,9 @@ script:
set_page_id->execute("back_page_id", wakeup_page_name->state.c_str());
// disp1->send_command_printf("back_page_id=%i", id(wakeup_page_id));
if (id(screensaver_display_time)) {
disp1->show_component("text");
disp1->send_command_printf("screensaver.text.font=%i", id(screensaver_display_time_font));
set_component_color->execute("screensaver.text",id(screensaver_display_time_color));
disp1->show_component("text");
refresh_datetime->execute();
} else {
disp1->set_backlight_brightness(0.0f);