mirror of
https://github.com/wez/wezterm.git
synced 2024-11-27 12:23:46 +03:00
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
af815a2e1b
Freetype has a compile-time feature that, when enabled, rewrites the font names of PCF fonts to include the foundry and wide status of the font in order to disambiguate the various versions of fonts all named "Fixed". That option is enabled by default in some linux distributions but not all; it's not enabled in Fedora, for example. When that feature is enabled it causes problems for the Terminus font as the PCF version of the fonts are no longer resolvable via the simple "Terminus" name but via "xos4 Terminus" instead. wezterm builds its own version of freetype (for consistency and cross platform support reasons), and is unaware of the choice used by the distro. The result of that is that fontconfig may see PCF fonts as having different font names than how wezterm sees them. A concrete problem is on such a system, when requesting "xos4 Terminus", fontconfig will present a match with that name, but when wezterm opens the font and sees that it has name "Terminus" (because of the difference in this feature in the freetype libraries in use), wezterm will reject that match. This commit enables that option in the freetype library and adds a wezterm config level option (freetype_pcf_long_family_names) that can be used to control the underlying pcf font driver configuration. The upshot of this is that this commit doesn't change any default behavior, but allows users of those systems to set `freetype_pcf_long_family_names = true` to turn that behavior on. My personal opinion on this is that users probably shouldn't use this if they can avoid it (and PCF fonts in general), and instead install the OTB version of the Terminus font, which doesn't have this legacy baggage associated with it! refs: https://github.com/wez/wezterm/issues/2100 |
||
---|---|---|
.cargo | ||
.github | ||
assets | ||
async_ossl | ||
base91 | ||
bidi | ||
bintree | ||
ci | ||
codec | ||
color-types | ||
config | ||
deps | ||
docs | ||
env-bootstrap | ||
filedescriptor | ||
licenses | ||
lua-api-crates | ||
luahelper | ||
mux | ||
procinfo | ||
promise | ||
pty | ||
rangeset | ||
ratelim | ||
strip-ansi-escapes | ||
tabout | ||
term | ||
termwiz | ||
test-data | ||
umask | ||
vtparse | ||
wezterm | ||
wezterm-client | ||
wezterm-dynamic | ||
wezterm-font | ||
wezterm-gui | ||
wezterm-gui-subcommands | ||
wezterm-input-types | ||
wezterm-mux-server | ||
wezterm-mux-server-impl | ||
wezterm-ssh | ||
wezterm-toast-notification | ||
window | ||
.cirrus.yml | ||
.gitignore | ||
.gitmodules | ||
.rustfmt.toml | ||
Cargo.lock | ||
Cargo.toml | ||
CONTRIBUTING.md | ||
get-deps | ||
LICENSE.md | ||
README.md | ||
wt-record | ||
wt-replay |
Wez's Terminal
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
User facing docs and guide at: https://wezfurlong.org/wezterm/
Screenshot of wezterm on macOS, running vim
Installation
https://wezfurlong.org/wezterm/installation.html
Getting help
This is a spare time project, so please bear with me. There are a couple of channels for support:
- You can use the GitHub issue tracker to see if someone else has a similar issue, or to file a new one.
- Start or join a thread in our GitHub Discussions; if you have general questions or want to chat with other wezterm users, you're welcome here!
- There is a Matrix room via Element.io for (potentially!) real time discussions.
The GitHub Discussions and Element/Gitter rooms are better suited for questions than bug reports, but don't be afraid to use whichever you are most comfortable using and we'll work it out.