From c95ad74ea2a7d85a51e86344dbea187d53c81daa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Bohner=20=28xzvf=29?= Date: Tue, 12 Jul 2022 16:31:19 +0200 Subject: [PATCH] Refactor to use ffFontInitCopy and detect font size printAlacritty now usese ffFontInitCopy instead of ffFontInitPango and also detects font size. --- src/modules/terminalfont.c | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/src/modules/terminalfont.c b/src/modules/terminalfont.c index 0ff31f99e..dbe55f8c3 100644 --- a/src/modules/terminalfont.c +++ b/src/modules/terminalfont.c @@ -180,22 +180,36 @@ static void printXCFETerminal(FFinstance* instance) static void printAlacritty(FFinstance* instance) { FFstrbuf fontName; + FFstrbuf fontSize; ffStrbufInit(&fontName); + ffStrbufInit(&fontSize); + + FFpropquery fontQuery[] = { + {"family:", &fontName}, + {"size:", &fontSize}, + }; + // alacritty parses config files in this order - ffParsePropFileConfig(instance, "alacritty/alacritty.yml", "family:", &fontName); - if(fontName.length == 0) - ffParsePropFileConfig(instance, "alacritty.yml", "family:", &fontName); - if(fontName.length == 0) - ffParsePropFileConfig(instance, ".alacritty.yml", "family:", &fontName); - if(fontName.length == 0) - ffStrbufAppendS(&fontName, "alacritty"); //by default alacritty uses it's own font called alacritty + ffParsePropFileConfigValues(instance, "alacritty/alacritty.yml", 2, fontQuery); + if(fontName.length == 0 || fontSize.length == 0) + ffParsePropFileConfigValues(instance, "alacritty.yml", 2, fontQuery); + if(fontName.length == 0 || fontSize.length == 0) + ffParsePropFileConfigValues(instance, ".alacritty.yml", 2, fontQuery); + if(fontName.length == 0 || fontSize.length == 0) + { + //by default alacritty uses it's own font called alacritty at size 11 + ffStrbufAppendS(&fontName, "alacritty"); + ffStrbufAppendS(&fontSize, "11"); + } FFfont font; - ffFontInitPango(&font, fontName.chars); + ffFontInitCopy(&font, fontName.chars); + ffStrbufInitCopy(&font.size, &fontSize); printTerminalFont(instance, fontName.chars, &font); ffFontDestroy(&font); ffStrbufDestroy(&fontName); + ffStrbufDestroy(&fontSize); } static void printTTY(FFinstance* instance)