From d0f8c8aa9498b2feeb1e13f5cd8638cf8a4d6594 Mon Sep 17 00:00:00 2001 From: FlightlessMango Date: Tue, 7 Mar 2023 18:19:23 +0100 Subject: [PATCH] mangoapp: control: rerload_config option --- src/app/control.c | 4 ++++ src/app/main.cpp | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/app/control.c b/src/app/control.c index e037a398..cf7ad267 100644 --- a/src/app/control.c +++ b/src/app/control.c @@ -9,9 +9,11 @@ static void help_and_quit() { fprintf(stderr, "Usage: mangohudctl [set|toggle] attribute [value]\n"); + fprintf(stderr, " mangohudctl reload-cfg\n"); fprintf(stderr, "Attributes:\n"); fprintf(stderr, " no_display hides or shows hud\n"); fprintf(stderr, " log_session handles logging status\n"); + fprintf(stderr, " reload_config reloads the config\n"); fprintf(stderr, "Accepted values:\n"); fprintf(stderr, " true\n"); fprintf(stderr, " false\n"); @@ -66,6 +68,8 @@ int main(int argc, char *argv[]) ctrl_msg.no_display = value; else if (strcmp(argv[2], "log_session") == 0) ctrl_msg.log_session = value; + else if (strcmp(argv[2], "reload_config") == 0) + ctrl_msg.reload_config = value; else help_and_quit(); diff --git a/src/app/main.cpp b/src/app/main.cpp index 038c7e1c..e8520d06 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -96,6 +96,18 @@ static void ctrl_thread(){ logger->is_active() ? logger->stop_logging() : logger->start_logging(); break; } + switch (mangoapp_ctrl_v1->reload_config) { + case 0: + break; + case 1: + parse_overlay_config(¶ms, getenv("MANGOHUD_CONFIG")); + break; + case 2: + break; + case 3: + parse_overlay_config(¶ms, getenv("MANGOHUD_CONFIG")); + break; + } { std::lock_guard lk(mangoapp_m); switch (mangoapp_ctrl_v1->no_display){