From 8c22cdba2941e145f019d6bd632c57bfb08e32bb Mon Sep 17 00:00:00 2001 From: KemoNine Date: Sun, 13 Dec 2020 20:41:49 +0000 Subject: [PATCH] Update layer widget to only be enabled on primary half of a split keyboard and shuffle some of the options specific to the widget to be enabled via the widget --- app/src/display/CMakeLists.txt | 2 +- app/src/display/Kconfig | 1 - app/src/display/status_screen.c | 7 +++++++ app/src/display/widgets/CMakeLists.txt | 3 +-- app/src/display/widgets/Kconfig | 6 ++++++ 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/app/src/display/CMakeLists.txt b/app/src/display/CMakeLists.txt index 0ce94545..d289f074 100644 --- a/app/src/display/CMakeLists.txt +++ b/app/src/display/CMakeLists.txt @@ -4,4 +4,4 @@ target_sources_ifdef(CONFIG_ZMK_DISPLAY app PRIVATE main.c) target_sources_ifdef(CONFIG_ZMK_DISPLAY_STATUS_SCREEN_BUILT_IN app PRIVATE status_screen.c) -add_subdirectory_ifdef(CONFIG_ZMK_DISPLAY widgets/) \ No newline at end of file +add_subdirectory_ifdef(CONFIG_ZMK_DISPLAY widgets/) diff --git a/app/src/display/Kconfig b/app/src/display/Kconfig index 4cb832da..95b5d479 100644 --- a/app/src/display/Kconfig +++ b/app/src/display/Kconfig @@ -8,7 +8,6 @@ menuconfig ZMK_DISPLAY select LVGL select LVGL_THEMES select LVGL_THEME_MONO - select LVGL_BUILD_IN_FONT_ROBOTO_12 if ZMK_DISPLAY diff --git a/app/src/display/status_screen.c b/app/src/display/status_screen.c index e6b9f1a5..e5c5915c 100644 --- a/app/src/display/status_screen.c +++ b/app/src/display/status_screen.c @@ -20,7 +20,9 @@ static struct zmk_widget_battery_status battery_status_widget; static struct zmk_widget_output_status output_status_widget; #endif +#if IS_ENABLED(CONFIG_ZMK_WIDGET_LAYER_STATUS) static struct zmk_widget_layer_status layer_status_widget; +#endif lv_obj_t *zmk_display_status_screen() { lv_obj_t *screen; @@ -42,12 +44,17 @@ lv_obj_t *zmk_display_status_screen() { 0); #endif +#if IS_ENABLED(CONFIG_ZMK_WIDGET_LAYER_STATUS) zmk_widget_layer_status_init(&layer_status_widget, screen); lv_obj_align(zmk_widget_layer_status_obj(&layer_status_widget), NULL, LV_ALIGN_IN_BOTTOM_LEFT, 0, 0); lv_label_set_text(zmk_version_label, "ZMK v0.1.0"); lv_obj_align(zmk_version_label, NULL, LV_ALIGN_IN_BOTTOM_RIGHT, 0, 0); +#else + lv_label_set_text(zmk_version_label, "ZMK v0.1.0"); + lv_obj_align(zmk_version_label, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, 0); +#endif return screen; } diff --git a/app/src/display/widgets/CMakeLists.txt b/app/src/display/widgets/CMakeLists.txt index 0f17a408..ad7e132a 100644 --- a/app/src/display/widgets/CMakeLists.txt +++ b/app/src/display/widgets/CMakeLists.txt @@ -3,5 +3,4 @@ target_sources_ifdef(CONFIG_ZMK_WIDGET_BATTERY_STATUS app PRIVATE battery_status.c) target_sources_ifdef(CONFIG_ZMK_WIDGET_OUTPUT_STATUS app PRIVATE output_status.c) - -target_sources(app PRIVATE layer_status.c) +target_sources_ifdef(CONFIG_ZMK_WIDGET_LAYER_STATUS app PRIVATE layer_status.c) diff --git a/app/src/display/widgets/Kconfig b/app/src/display/widgets/Kconfig index 01bc587e..199a124d 100644 --- a/app/src/display/widgets/Kconfig +++ b/app/src/display/widgets/Kconfig @@ -3,6 +3,12 @@ menu "ZMK Display Widgets" +config ZMK_WIDGET_LAYER_STATUS + bool "Widget for highest, active layer using small icons" + default y + depends on !ZMK_SPLIT_PERIPHERAL + select LVGL_BUILD_IN_FONT_ROBOTO_12 + config ZMK_WIDGET_BATTERY_STATUS bool "Widget for battery charge information, using small icons" depends on BT