alacritty: [Mac Big Sur] 'use_thin_strokes: true' appears to no longer work
Hello Alacritty team,
I was a very happy Alacritty on Catalina user, especially the use_thin_strokes
feature.
I upgraded to Big Sur and Alacritty’s use_thin_strokes
feature no longer has an effect, setting it to true or false results in no difference (at least with my setup). Note, I did restart Alacritty when toggling that feature.
I have been using Alacritty 0.6.0.
Has Apple changed APIs or is there something else I need to do at my end?
I really like use_thin_strokes
, so I am sad that it appears to be gone on Big Sur.
Best regards.
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Reactions: 2
- Comments: 41 (12 by maintainers)
Commits related to this issue
- uprev crossfont and remove the use_thin_strokes config option This setting is for macOS only, but it has been broken since Big Sur due to changes in the system's font rendering machinery (#4616). In... — committed to chrisnc/alacritty by chrisnc 2 years ago
- Fix thin strokes on macOS Remove the `use_thin_strokes` setting, which only did anything on macOS and only prior to Big Sur. Instead, we will enable or disable "font smoothing" on macOS based on the ... — committed to chrisnc/alacritty by chrisnc 2 years ago
- Fix thin strokes on macOS Remove the `use_thin_strokes` setting, which only did anything on macOS and only prior to Big Sur. Instead, we will enable or disable "font smoothing" on macOS based on the ... — committed to chrisnc/alacritty by chrisnc 2 years ago
- Fix thin strokes on macOS Remove the `use_thin_strokes` config, which only did anything on macOS and only prior to Big Sur. Instead, we will enable or disable "font smoothing" on macOS based on the `... — committed to chrisnc/alacritty by chrisnc 2 years ago
- Fix thin strokes on macOS Remove the `use_thin_strokes` config, which only did anything on macOS and only prior to Big Sur. Instead, we will enable or disable "font smoothing" on macOS based on the `... — committed to chrisnc/alacritty by chrisnc 2 years ago
- Fix thin strokes on macOS Remove the `use_thin_strokes` config, which only did anything on macOS and only prior to Big Sur. Instead, we will enable or disable "font smoothing" on macOS based on the `... — committed to chrisnc/alacritty by chrisnc 2 years ago
- Fix thin strokes on macOS Remove the `font.use_thin_strokes` config, which only did anything on macOS and only prior to Big Sur. Instead, we will enable or disable "font smoothing" on macOS based on ... — committed to chrisnc/alacritty by chrisnc 2 years ago
- Fix thin strokes on macOS Deprecate the `font.use_thin_strokes` config, which only did anything on macOS and only prior to Big Sur. Instead, we will enable or disable "font smoothing" on macOS based ... — committed to chrisnc/alacritty by chrisnc 2 years ago
- Fix thin strokes on macOS Deprecate the `font.use_thin_strokes` config, which only did anything on macOS and only prior to Big Sur. Instead, we will enable or disable "font smoothing" on macOS based ... — committed to chrisnc/alacritty by chrisnc 2 years ago
- Fix thin strokes on macOS Remove the `font.use_thin_strokes` config, which only did anything on macOS and only prior to Big Sur. Instead, we will enable or disable "font smoothing" on macOS based on ... — committed to chrisnc/alacritty by chrisnc 2 years ago
- Fix thin strokes on macOS Remove the `font.use_thin_strokes` config, which only did anything on macOS and only prior to Big Sur. Instead, we will enable or disable "font smoothing" on macOS based on ... — committed to chrisnc/alacritty by chrisnc 2 years ago
- Fix thin strokes on macOS Remove the `font.use_thin_strokes` config, which only did anything on macOS and only prior to Big Sur. Instead, we will enable or disable "font smoothing" on macOS based on ... — committed to chrisnc/alacritty by chrisnc 2 years ago
- Fix thin strokes on macOS Remove the `font.use_thin_strokes` config, which only did anything on macOS and only prior to Big Sur. Instead, we will enable or disable "font smoothing" on macOS based on ... — committed to chrisnc/alacritty by chrisnc 2 years ago
- Fix thin strokes on macOS Remove the `font.use_thin_strokes` config, which only did anything on macOS and only prior to Big Sur. Instead, we will enable or disable "font smoothing" on macOS based on ... — committed to chrisnc/alacritty by chrisnc 2 years ago
- Fix thin strokes on macOS Remove the `font.use_thin_strokes` config, which only did anything on macOS and only prior to Big Sur. Instead, we will enable or disable "font smoothing" on macOS based on ... — committed to chrisnc/alacritty by chrisnc 2 years ago
- Fix thin strokes on macOS Remove the `font.use_thin_strokes` config, which only did anything on macOS and only prior to Big Sur. Instead, we will enable or disable "font smoothing" on macOS based on ... — committed to chrisnc/alacritty by chrisnc 2 years ago
- Fix thin strokes on macOS Remove the `font.use_thin_strokes` config, which only did anything on macOS and only prior to Big Sur. Instead, we will enable or disable "font smoothing" on macOS based on ... — committed to chrisnc/alacritty by chrisnc 2 years ago
- Fix thin strokes on macOS Remove the `font.use_thin_strokes` config, which only did anything on macOS and only prior to Big Sur. Instead, we will enable or disable "font smoothing" on macOS based on ... — committed to chrisnc/alacritty by chrisnc 2 years ago
- Fix thin strokes on macOS Remove the `font.use_thin_strokes` config, which only did anything on macOS and only prior to Big Sur. Instead, we will enable or disable "font smoothing" on macOS based on ... — committed to chrisnc/alacritty by chrisnc 2 years ago
- Fix thin strokes on macOS Remove the `font.use_thin_strokes` config, which only did anything on macOS and only prior to Big Sur. Instead, we will enable or disable "font smoothing" on macOS based on ... — committed to chrisnc/alacritty by chrisnc 2 years ago
For anyone following this issue, you can get thin strokes on latest Alacritty and macOS now, you just need to use:
The
use_thin_strokes
config field has been removed as discussed above.If you still want smoothing (read: slightly bolder fonts) for the rest of the system, but not in Alacritty, you can do
org.alacritty
instead of-g
in the above command. Personally I think it’s much nicer on everything and would suggest people give it a try if they haven’t before. (It requires a restart to take effect for the whole system, but Alacritty just needs to be relaunched for it to take effect, as it reads the default when loading fonts.)The patches earlier in the thread are no longer necessary.
I have managed to get it to work, thank you @puremourning & @dangh! I cloned @puremourning’s repo’s and added .cargo/config.toml as per his instructions, excellent work on his behalf!
Now the “use_thin_strokes” option in alacritty.yml actually renders the font thinner! A note: To see changes in the “use_thin_strokes” option Alacritty has to be quit and restarted.
For anyone interested, you can also find a pre-built version for Intel Macs on my github.
On the left you can see the official build and on the right a build with @puremouring’s tweaks applied:
For anyone who is hitting this and (like me) prefers the way iTerm renders this you can get the fonts to render “thin” and look good on retina displays with this change in the crossfont repo:
This is something not uncommon to iTerm. Which is why I’d like to point out that this is not something Alacritty will get into. iTerm is a macOS terminal emulator, which is why it is fine to invest significant amounts of time tweaking it specifically for macOS, but Alacritty is not. Should there be a relatively standard process to make this work, then that’s perfectly fine.
If your goal is just to adjust the font weight, then any of this configuration is completely misguided really. This option is for subjectively improved text rendering on lower DPI displays, thinner fonts are just a side effect.
These are pretty much my thoughts on the matter too. I think eventually we’ll probably just end up going the way of removing this option, since there’s little benefit and macOS doesn’t seem like they are particularly interested in providing this feature. With high DPI monitors, as provided by many macOS systems, it should only become less and less relevant over time. For people that did not understand the purpose of this option and used it solely to change the font’s thickness, there should be plenty of other fonts out there to choose from (or they can modify the font itself).
I also tried to adjust the font weight by following all suggestions above (I am using Menlo Regular, size 13), but I was unable to get a thinner stroke. I am running macOS Big Sur 11.2.3 and alacritty 0.7.2 (5ac8060).
Because the rest of the terminals don’t exhibit this rendering behavior, I wonder what might be the actual cause of this 🤔
Apple keeps changing it’s font subsystem from release to release, that much is obvious.
The iTerm2 solution contains this comment:
Not exactly an official API. The iTerm2 author stumbled on something, tried it and liked the look (which is fine). But it is not how Apple wants folks to do things (me thinks).
After battling this issue for two weeks, which involved me going bonkers thinking something was working when it actually wasn’t, I firmly believe the best solution is to use a thinner font. Fonts like Iosevka provide build script, hence font weight is adjustable for this particular font. So I built myself a thinner font which totally solved this issue.
Alacritty does not provide box drawing because simplicity and maintainability are desired goals.
use_thin_fonts
seems to be a headache, firstly it is macOS only so probably should be namedmac_use_thin_fonts
, but it only works for High Sierra, Mojave and Catalina (nothing prior and currently nothing latter). Seems a platform specific burden.I know some folks will want this, but I feel like we are battling against Apple itself.
My 2 cents.
No unfortunately.
iTerm2
thin-strokes
still works on Big Sur if that is a useful data point.I would be interested if other Big Sur users encounter this issue. It would be nice to know if this is a Big Sur issue, or an issue just for me. At the moment I suspect all Big Sur users will encounter this.
Note, Apple absolutely nags you to upgrade, so it proves hard to resist. I now wish I hadn’t.
I put this in
.cargo/config.toml
underalacritty
:in
../winit
I have this commit:In
../crossfont
I have this commit:I then just build Alacritty (I think).
Thin fonts rendering, generally, is more useful for low DPI screens than high.
A couple points:
use_thin_strokes
completely since it doesn’t work for Mac OS releases prior to High Sierra (2017) and releases later than Catalina (10.15 / 2019).My 2cents.
@philip1987 patching non root package will not working.
You may want to set the path in the dependencies section instead:
Nothing will get me to change from Iosevka. I just simply hacked the
private-build-plans.toml
build script and added a thin variant as such:Then it is just a matter of building the font.
And in my
alacritty.yml
I have these font settings:That gets me the exact thin strokes style I like on Mac.
Quite likely, I think I created this request just after upgrading, probably no reboots or log outs involved.
Yes, closing this is correct. Also this back and forth has likely provided some knowledge if other users hit the issue.
Best regards and many thanks.