You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Request: silently ignore missing fonts from fonts.family and fonts.family.extras #1031
I like to keep a list of fonts to use, that I can use across systems, figuring that at least one of them will be on the system. And when it's not, I'll add some font that is on the system to the list. But currently Rio complains if any of the listed fonts are not found. This request is to allow and ignore fonts that are not found, until or unless a glyph can't be rendered (I don't know if there's a built-in fallback family).
For example, I'd like my config to have:
[fonts]
family = "Andysevka Term"extras = [
{ family = "0xProto" },
{ family = "Maple Mono" },
{ family = "Sudo" },
{ family = "Fantasque Sans Mono" },
{ family = "Ubuntu Mono" },
{ family = "Comic Mono" },
{ family = "Share Tech Mono" },
{ family = "Atkinson Hyperlegible Mono" },
{ family = "Symbols Nerd Font Mono" },
{ family = "Symbols Nerd Font" },
{ family = "NanumGothicCoding" },
{ family = "Fluent Emoji Color" },
{ family = "Fluent Emoji Flat" },
{ family = "Twemoji" },
{ family = "Twitter Color Emoji" },
{ family = "SerenityOS Emoji" },
{ family = "OpenMoji Color" },
{ family = "JoyPixels" }
]
And on many systems, Andysevka Term won't be present, nor will many of the others.
That's how it seems to work in Wezterm and Ghostty.
In Wezterm, this looks like:
font=wezterm.font_with_fallback({
"Andysevka Term",
"Andysevka Term Semi-Extended",
"Andysevka Term Extended",
"0xProto",
"Maple Mono",
"Sudo",
"Fantasque Sans Mono",
"Ubuntu Mono",
"Comic Mono",
"Share Tech Mono",
"Atkinson Hyperlegible Mono",
"Symbols Nerd Font Mono",
"Symbols Nerd Font",
"NanumGothicCoding",
"Fluent Emoji Color",
"Fluent Emoji Flat",
"Twemoji",
"Twitter Color Emoji",
"SerenityOS Emoji",
"OpenMoji Color",
"JoyPixels",
}),
And in Ghostty it's:
font-family = Andysevka Term
font-family = Iosevka Term Custom
font-family = 0xProto
font-family = 0xProto Nerd Font
font-family = Maple Mono
font-family = Sudo
font-family = Fantasque Sans Mono
font-family = Ubuntu Mono
font-family = Comic Mono
font-family = Share Tech Mono
font-family = Atkinson Hyperlegible Mono
font-family = Symbols Nerd Font Mono
font-family = Symbols Nerd Font
font-family = NanumGothicCoding
font-family = Fluent Emoji Color
font-family = Fluent Emoji Flat
font-family = Twemoji
font-family = Twitter Color Emoji
font-family = SerenityOS Emoji
font-family = OpenMoji Color
font-family = JoyPixels
It wouldn't be my preference, because on a single OS I'd like to launch Rio and see "Oh my third favorite font is being used, let me just install my favorite now," without having to change any configuration to use it.
Honestly it's not so bad to just launch, then use the error message to comment out all missing fonts and maybe switch the first choice, but if this is to be changed it would be best to work like Wezterm and Ghostty, in my opinion.
Fair, I think can be more work tbh having to map each font individually per OS but wanted to ask to confirm. I will add a fonts.disable-not-found-warnings configuration property
Activity
raphamorim commentedon Apr 2, 2025
Hey @AndydeCleyre of course make sense,
Does https://rioterm.com/docs/config#fontsextras works for you? or is it complaining?
AndydeCleyre commentedon Apr 2, 2025
If I'm using it properly in my first code block above, it complains for any font not present on the system.
raphamorim commentedon Apr 2, 2025
i think i will add a configuration property,
fonts.ignore-extra-warningsdoes that works for you?AndydeCleyre commentedon Apr 2, 2025
Yes, that's great, thank you!
AndydeCleyre commentedon Apr 2, 2025
Oh wait -- that does leave the issue of the first choice/primary font being missing sometimes.
raphamorim commentedon Apr 3, 2025
I see, would make sense to add
fontsunder platform? https://rioterm.com/docs/config#platformSo you could map for each OS
AndydeCleyre commentedon Apr 3, 2025
It wouldn't be my preference, because on a single OS I'd like to launch Rio and see "Oh my third favorite font is being used, let me just install my favorite now," without having to change any configuration to use it.
Honestly it's not so bad to just launch, then use the error message to comment out all missing fonts and maybe switch the first choice, but if this is to be changed it would be best to work like Wezterm and Ghostty, in my opinion.
raphamorim commentedon Apr 3, 2025
Fair, I think can be more work tbh having to map each font individually per OS but wanted to ask to confirm. I will add a
fonts.disable-not-found-warningsconfiguration propertyimplement fonts.disable-warnings-not-found (closes raphamorim#1031)