From 8c5d9eb2c60ee258820e2d3b09c914fd113697d5 Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Fri, 30 Jun 2023 16:50:35 -0400 Subject: [PATCH] add command line option to auto hide the log window at startup; --- src/monitor/MonitorMain.cpp | 10 +++++++++- src/monitor/MonitorMain.h | 2 ++ src/monitor/MonitorMainWnd.h | 6 ++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/monitor/MonitorMain.cpp b/src/monitor/MonitorMain.cpp index d3f72bd0..d1bd7a8a 100644 --- a/src/monitor/MonitorMain.cpp +++ b/src/monitor/MonitorMain.cpp @@ -53,6 +53,8 @@ std::string g_iniFile = std::string(DEFAULT_CONF_FILE); yaml::Node g_conf; bool g_debug = false; +bool g_hideLoggingWnd = false; + lookups::IdenTableLookup* g_idenTable = nullptr; // --------------------------------------------------------------------------- @@ -96,9 +98,11 @@ void usage(const char* message, const char* arg) ::fprintf(stderr, "\n\n"); } - ::fprintf(stdout, "usage: %s [-dvh] [-c ]\n\n" + ::fprintf(stdout, "usage: %s [-dvh][--hide-log][-c ]\n\n" " -c specifies the monitor configuration file to use\n" "\n" + " --hide-log hide interactive logging window on startup\n" + "\n" " -d enable debug\n" " -v show version information\n" " -h show this screen\n" @@ -142,6 +146,10 @@ int checkArgs(int argc, char* argv[]) p += 2; } + else if (IS("--hide-log")) { + ++p; + g_hideLoggingWnd = true; + } else if (IS("-d")) { ++p; g_debug = true; diff --git a/src/monitor/MonitorMain.h b/src/monitor/MonitorMain.h index 4ee9d2fe..87cbabe3 100644 --- a/src/monitor/MonitorMain.h +++ b/src/monitor/MonitorMain.h @@ -50,6 +50,8 @@ extern std::string g_iniFile; extern yaml::Node g_conf; extern bool g_debug; +extern bool g_hideLoggingWnd; + extern lookups::IdenTableLookup* g_idenTable; #endif // __MONITOR_MAIN_H__ diff --git a/src/monitor/MonitorMainWnd.h b/src/monitor/MonitorMainWnd.h index a787cfb9..c43be3f4 100644 --- a/src/monitor/MonitorMainWnd.h +++ b/src/monitor/MonitorMainWnd.h @@ -236,6 +236,12 @@ private: void onShow(FShowEvent* e) override { intializeNodeDisplay(); + if (g_hideLoggingWnd) { + const auto& rootWidget = getRootWidget(); + m_logWnd.setGeometry(FPoint{(int)(rootWidget->getClientWidth() - 81), (int)(rootWidget->getClientHeight() - 1)}, FSize{80, 20}); + + m_logWnd.minimizeWindow(); + } } ///