From 636df184fba582c2261e4e0518771b92be68d9b1 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sun, 1 Sep 2024 20:24:44 +0200 Subject: Find noto fonts, update readme --- src/main.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/main.cpp b/src/main.cpp index 411ab48..a3503c9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -15,6 +15,7 @@ #include #include #include +#include #include #include @@ -155,6 +156,17 @@ static const mgl_monitor* find_monitor_by_cursor_position(mgl::Window &window) { return &win->monitors[0]; } +static std::string find_noto_font_filepath(const char *filename) { + const char *directories[] = { "/usr/share/fonts/noto", "/usr/share/fonts/truetype/noto" }; + char filepath[PATH_MAX]; + for(const char *directory : directories) { + snprintf(filepath, sizeof(filepath), "%s/%s", directory, filename); + if(access(filepath, F_OK) == 0) + return filepath; + } + return ""; +} + int main(int argc, char **argv) { std::string resources_path; if(access("images/stream.png", F_OK) == 0) { @@ -221,6 +233,12 @@ int main(int argc, char **argv) { const mgl::Color icon_color = parse_hex_color(icon_color_str ? icon_color_str : "FFFFFF", resources_path); const mgl::Color bg_color = parse_hex_color(bg_color_str ? bg_color_str : "76b900", resources_path); + const std::string noto_sans_bold_filepath = find_noto_font_filepath("NotoSans-Bold.ttf"); + if(noto_sans_bold_filepath.empty()) { + fprintf(stderr, "error: failed to find NotoSans-Bold.ttf. Make sure noto fonts are installed on your system\n"); + exit(2); + } + mgl::Init init; mgl::Window::CreateParams window_create_params; @@ -246,7 +264,7 @@ int main(int argc, char **argv) { const mgl_monitor *focused_monitor = find_monitor_by_cursor_position(window); mgl::MemoryMappedFile font_file; - if(!font_file.load("/usr/share/fonts/noto/NotoSans-Bold.ttf", mgl::MemoryMappedFile::LoadOptions{true, false})) + if(!font_file.load(noto_sans_bold_filepath.c_str(), mgl::MemoryMappedFile::LoadOptions{true, false})) return 1; mgl::Font font; -- cgit v1.2.3