Issue#1552. Calendar module, LC_TIME variable

This commit is contained in:
Viktar Lukashonak 2022-05-13 12:54:18 +03:00
parent 7b7ee41e13
commit 448b413eca
No known key found for this signature in database
GPG Key ID: 08A413AA87200A6F

View File

@ -66,18 +66,13 @@ waybar::modules::Clock::Clock(const std::string& id, const Json::Value& config)
}
}
if (config_["locale"].isString()) {
locale_ = std::locale(config_["locale"].asString());
} else {
char* sysLocale{getenv("LC_TIME")};
const char* applyLocale{config_["locale"].isString() ? config_["locale"].asCString() : getenv("LC_TIME")};
try {
locale_ = sysLocale ? std::locale(sysLocale) : std::locale("");
}
catch(std::runtime_error const& localeErr) {
spdlog::warn(localeErr.what());
locale_ = applyLocale ? std::locale(applyLocale) : std::locale("");
} catch(std::runtime_error const& localeE) {
spdlog::warn("Clock module. Wrong \"locale\" or LC_TIME variable(make sure locale is presented in /etc/locale.gen and generated by the locale-gen). Trace: {0}", localeE.what());
locale_ = std::locale();
}
}
thread_ = [this] {
dp.emit();