This commit is contained in:
Mars 2024-06-09 18:55:00 -04:00
parent 05451841e8
commit 94d08a02d6
Signed by: pupbrained
GPG key ID: 874E22DF2F9DFCB5
60 changed files with 610 additions and 299 deletions

View file

@ -13,10 +13,9 @@ struct BytesToGiB {
template <>
struct fmt::formatter<BytesToGiB> : formatter<double> {
template <typename FormatContext>
typename FormatContext::iterator
format(const BytesToGiB BTG, FormatContext& ctx) {
typename FormatContext::iterator out = formatter<double>::format(
template <typename FmtCtx>
fn format(const BytesToGiB BTG, FmtCtx& ctx) -> typename FmtCtx::iterator {
typename FmtCtx::iterator out = formatter<double>::format(
static_cast<double>(BTG.value) / pow(1024, 3), ctx
);
*out++ = 'G';
@ -26,53 +25,35 @@ struct fmt::formatter<BytesToGiB> : formatter<double> {
}
};
enum DateNum { Ones, Twos, Threes, Default };
DateNum ParseDate(string const& input) {
if (input == "1" || input == "21" || input == "31") return Ones;
if (input == "2" || input == "22") return Twos;
if (input == "3" || input == "23") return Threes;
return Default;
}
int main() {
const Config& config = Config::getInstance();
if (config.getNowPlaying().getEnabled()) fmt::println("{}", GetNowPlaying());
fmt::println("Hello {}!", config.getGeneral().getName());
const u64 memInfo = GetMemInfo();
fmt::println("{:.2f}", BytesToGiB {memInfo});
fn GetDate() -> string {
const std::tm localTime = fmt::localtime(time(nullptr));
string date = fmt::format("{:%e}", localTime);
auto start = date.begin();
while (start != date.end() && std::isspace(*start)) ++start;
date.erase(date.begin(), start);
if (!date.empty() && std::isspace(date.front()))
date.erase(date.begin());
switch (ParseDate(date)) {
case Ones:
date += "st";
break;
if (date == "1" || date == "21" || date == "31")
date += "st";
else if (date == "2" || date == "22")
date += "nd";
else if (date == "3" || date == "23")
date += "rd";
else
date += "th";
case Twos:
date += "nd";
break;
return fmt::format("{:%B} {}, {:%-I:%0M %p}", localTime, date, localTime);
}
case Threes:
date += "rd";
break;
fn main() -> int {
const Config& config = Config::getInstance();
case Default:
date += "th";
break;
}
if (config.getNowPlaying().getEnabled())
fmt::println("{}", GetNowPlaying());
fmt::println("{:%B} {}, {:%-I:%0M %p}", localTime, date, localTime);
fmt::println("Hello {}!", config.getGeneral().getName());
fmt::println("Installed RAM: {:.2f}", BytesToGiB {GetMemInfo()});
fmt::println("Today is: {}", GetDate());
Weather::WeatherOutput json = config.getWeather().getWeatherInfo();

View file

@ -93,13 +93,15 @@ std::vector<std::string> GetMprisPlayers(sdbus::IConnection& connection) {
std::vector<std::string> mprisPlayers;
for (const std::basic_string<char>& name : names)
if (name.contains(mprisInterfaceName)) mprisPlayers.push_back(name);
if (name.contains(mprisInterfaceName))
mprisPlayers.push_back(name);
return mprisPlayers;
}
std::string GetActivePlayer(const std::vector<std::string>& mprisPlayers) {
if (!mprisPlayers.empty()) return mprisPlayers.front();
if (!mprisPlayers.empty())
return mprisPlayers.front();
return "";
}
@ -114,11 +116,13 @@ std::string GetNowPlaying() {
std::vector<std::string> mprisPlayers = GetMprisPlayers(*connection);
if (mprisPlayers.empty()) return "";
if (mprisPlayers.empty())
return "";
std::string activePlayer = GetActivePlayer(mprisPlayers);
if (activePlayer.empty()) return "";
if (activePlayer.empty())
return "";
std::unique_ptr<sdbus::IProxy> playerProxy =
sdbus::createProxy(*connection, activePlayer, playerObjectPath);