fix: compilation errors with cpp_std=c++20
There were two main issues with fmtlib and C++20 mode: - `fmt::format` defaults to compile-time argument checking and requires using `fmt::runtime(format_string)` to bypass that. - `std::format` implementation introduces conflicting declarations and we have to specify the namespace for all `format`/`format_to` calls.
This commit is contained in:
@ -32,7 +32,8 @@ auto Scratchpad::update() -> void {
|
||||
if (count_ || show_empty_) {
|
||||
event_box_.show();
|
||||
label_.set_markup(
|
||||
fmt::format(format_, fmt::arg("icon", getIcon(count_, "", config_["format-icons"].size())),
|
||||
fmt::format(fmt::runtime(format_),
|
||||
fmt::arg("icon", getIcon(count_, "", config_["format-icons"].size())),
|
||||
fmt::arg("count", count_)));
|
||||
if (tooltip_enabled_) {
|
||||
label_.set_tooltip_markup(tooltip_text_);
|
||||
@ -64,7 +65,7 @@ auto Scratchpad::onCmd(const struct Ipc::ipc_response& res) -> void {
|
||||
if (tooltip_enabled_) {
|
||||
tooltip_text_.clear();
|
||||
for (const auto& window : tree["nodes"][0]["nodes"][0]["floating_nodes"]) {
|
||||
tooltip_text_.append(fmt::format(tooltip_format_ + '\n',
|
||||
tooltip_text_.append(fmt::format(fmt::runtime(tooltip_format_ + '\n'),
|
||||
fmt::arg("app", window["app_id"].asString()),
|
||||
fmt::arg("title", window["name"].asString())));
|
||||
}
|
||||
|
Reference in New Issue
Block a user