Move the UTF-8 visual-width measurement and truncation helper functions from the mpris module to a common utility (include/util/utf8_string.hpp and src/util/utf8_string.cpp). This decouples string truncation and width measurement from the mpris module, allowing other modules (like mpd) to reuse. The helper function `utf8_truncate` (formerly `truncate` in mpris) and `utf8_width` is exported under the `waybar::util` namespace, while the low-level `measure_and_truncate` (formerly `utf8_truncate`) is encapsulated in an anonymous namespace in src/util/utf8_string.cpp to avoid unnecessary API exposure. No functional changes were made to the mpris module's behavior.
8 lines
210 B
C++
8 lines
210 B
C++
#pragma once
|
|
#include <string>
|
|
|
|
namespace waybar::util {
|
|
size_t utf8_width(const std::string& str);
|
|
void utf8_truncate(std::string& s, const std::string& ellipsis, size_t max_len);
|
|
} // namespace waybar::util
|