diff --git a/PKGBUILD b/PKGBUILD index 36202af2..31e03210 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -4,8 +4,8 @@ pkgrel=1 arch=('x86_64') url=https://codeberg.org/dnkl/foot license=(mit) -makedepends=('meson' 'ninja' 'scdoc' 'python' 'ncurses') -depends=('libxkbcommon' 'wayland' 'pixman' 'tllist>=1.0.0' 'fcft>=0.1.0') +makedepends=('meson' 'ninja' 'scdoc' 'python' 'ncurses' 'tllist>=1.0.0') +depends=('libxkbcommon' 'wayland' 'pixman' 'fcft>=0.2.0') source=() pkgver() { diff --git a/main.c b/main.c index 3666b5f4..fc007857 100644 --- a/main.c +++ b/main.c @@ -63,21 +63,18 @@ term_shutdown_cb(void *data, int exit_code) static bool initialize_fonts(const struct config *conf, struct font *fonts[4]) { - font_list_t font_names = tll_init(); + const size_t count = tll_length(conf->fonts); + const char *names[count]; + + size_t i = 0; tll_foreach(conf->fonts, it) - tll_push_back(font_names, it->item); + names[i++] = it->item; - if ((fonts[0] = font_from_name(font_names, "dpi=96")) == NULL || - (fonts[1] = font_from_name(font_names, "dpi=96:weight=bold")) == NULL || - (fonts[2] = font_from_name(font_names, "dpi=96:slant=italic")) == NULL || - (fonts[3] = font_from_name(font_names, "dpi=96:weight=bold:slant=italic")) == NULL) - { - tll_free(font_names); - return false; - } - - tll_free(font_names); - return true; + return ( + (fonts[0] = font_from_name(names, count, "dpi=96")) != NULL && + (fonts[1] = font_from_name(names, count, "dpi=96:weight=bold")) != NULL && + (fonts[2] = font_from_name(names, count, "dpi=96:slant=italic")) != NULL && + (fonts[3] = font_from_name(names, count, "dpi=96:weight=bold:slant=italic")) != NULL); } int diff --git a/meson.build b/meson.build index f75b5e2f..0603805b 100644 --- a/meson.build +++ b/meson.build @@ -26,7 +26,7 @@ wayland_cursor = dependency('wayland-cursor') xkb = dependency('xkbcommon') tllist = dependency('tllist', version: '>=1.0.0', fallback: ['tllist', 'tllist']) -fcft = dependency('fcft', version: ['>=0.1.0', '<0.2.0'], fallback: ['fcft', 'fcft']) +fcft = dependency('fcft', version: ['>=0.2.0', '<0.3.0'], fallback: ['fcft', 'fcft']) wayland_protocols_datadir = wayland_protocols.get_pkgconfig_variable('pkgdatadir') diff --git a/search.c b/search.c index eabeb985..b10e75ac 100644 --- a/search.c +++ b/search.c @@ -1,5 +1,6 @@ #include "search.h" +#include #include #include diff --git a/server.c b/server.c index bb38a6dd..6aceda46 100644 --- a/server.c +++ b/server.c @@ -1,5 +1,6 @@ #include "server.h" +#include #include #include diff --git a/subprojects/fcft b/subprojects/fcft index 97ded50d..e4352f2c 160000 --- a/subprojects/fcft +++ b/subprojects/fcft @@ -1 +1 @@ -Subproject commit 97ded50d8f14e1fd55aac1f2ff1b46bc56c6fd8b +Subproject commit e4352f2c4c6b301b42c15e13ef34f1d734598ce7 diff --git a/terminal.c b/terminal.c index c49c34df..31046df9 100644 --- a/terminal.c +++ b/terminal.c @@ -368,21 +368,18 @@ initialize_render_workers(struct terminal *term) static bool initialize_fonts(struct terminal *term, const struct config *conf) { - font_list_t font_names = tll_init(); + const size_t count = tll_length(conf->fonts); + const char *names[count]; + + size_t i = 0; tll_foreach(conf->fonts, it) - tll_push_back(font_names, it->item); + names[i++] = it->item; - if ((term->fonts[0] = font_from_name(font_names, "dpi=96")) == NULL || - (term->fonts[1] = font_from_name(font_names, "dpi=96:weight=bold")) == NULL || - (term->fonts[2] = font_from_name(font_names, "dpi=96:slant=italic")) == NULL || - (term->fonts[3] = font_from_name(font_names, "dpi=96:weight=bold:slant=italic")) == NULL) - { - tll_free(font_names); - return false; - } - - tll_free(font_names); - return true; + return ( + (term->fonts[0] = font_from_name(names, count, "dpi=96")) != NULL && + (term->fonts[1] = font_from_name(names, count, "dpi=96:weight=bold")) != NULL && + (term->fonts[2] = font_from_name(names, count, "dpi=96:slant=italic")) != NULL && + (term->fonts[3] = font_from_name(names, count, "dpi=96:weight=bold:slant=italic")) != NULL); } struct terminal * diff --git a/wayland.c b/wayland.c index 938056ac..32d7caf6 100644 --- a/wayland.c +++ b/wayland.c @@ -1,6 +1,7 @@ #include "wayland.h" #include +#include #include #include