diff --git a/src/config/config.h b/src/config/config.h index 082410a..9153e9b 100644 --- a/src/config/config.h +++ b/src/config/config.h @@ -18,6 +18,8 @@ struct NowPlaying { }; struct Weather { + bool enabled = false; + Location location; string api_key; string units; diff --git a/src/main.cpp b/src/main.cpp index 92fdb47..8caf204 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -60,25 +60,6 @@ fn main()->i32 { future dateFuture = std::async(std::launch::async, GetDate); future memInfoFuture = std::async(std::launch::async, GetMemInfo); - const auto - [clouds, - tz, - visibility, - main, - coords, - rain, - snow, - base, - townName, - weather, - sys, - cod, - dt, - id, - wind] = weatherFuture.get(); - - const i64 temp = std::lround(main.temp); - const bool nowPlayingEnabled = nowPlayingEnabledFuture.get(); const string version = osVersionFuture.get(); const string date = dateFuture.get(); @@ -87,12 +68,31 @@ fn main()->i32 { fmt::println("Hello {}!", name); fmt::println("Today is: {}", date); - fmt::println("It is {}°F in {}", temp, townName); fmt::println("Installed RAM: {:.2f}", BytesToGiB(mem)); fmt::println("{}", version); + if (config.weather.get().enabled) { + const auto + [clouds, + tz, + visibility, + main, + coords, + rain, + snow, + base, + townName, + weather, + sys, + cod, + dt, + id, + wind] = weatherFuture.get(); + const i64 temp = std::lround(main.temp); + + fmt::println("It is {}°F in {}", temp, townName); + } + if (nowPlayingEnabled) fmt::println("{}", GetNowPlaying()); - - delete &config; }