1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-28 07:55:03 +03:00
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
Go to file
Wez Furlong af815a2e1b fonts: add freetype_pcf_long_family_names option
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
2022-06-09 20:09:47 -07:00
.cargo build static on windows for static openssl linkage 2020-02-02 13:03:07 -08:00
.github build(deps): bump crazy-max/ghaction-github-pages from 2 to 3 2022-05-29 20:58:00 -07:00
assets sync color schemes with upstream 2022-05-31 18:06:51 -07:00
async_ossl Raise minimum Rust version to 1.51, de-vendor openssl on unix 2021-03-25 09:43:50 -07:00
base91 dyn everywhere 2019-06-08 21:28:11 -07:00
bidi remove serde from bidi 2022-05-18 09:25:41 -07:00
bintree Add SplitPane assignment 2022-05-21 21:09:11 -07:00
ci fix wezterm bash completion install path in .debs 2022-05-28 21:29:40 -07:00
codec cli: add move-pane-to-new-tab command 2022-05-28 06:43:22 -07:00
color-types background: allow specifying a solid color layer 2022-05-31 08:47:28 -07:00
config fonts: add freetype_pcf_long_family_names option 2022-06-09 20:09:47 -07:00
deps fonts: add freetype_pcf_long_family_names option 2022-06-09 20:09:47 -07:00
docs windows: default allow_win32_input_mode=true 2022-06-09 07:26:53 -07:00
env-bootstrap config: split out lua functions into their own crates 2022-05-19 06:48:09 -07:00
filedescriptor filedescriptor: bump version for package publish 2022-01-21 17:08:23 -07:00
licenses macOS: bundle and use MetalANGLE to enable Metal rendering 2020-10-17 09:34:01 -07:00
lua-api-crates fixup win32 build 2022-05-19 09:23:32 -07:00
luahelper config: make wezterm.action more ergonomic 2022-05-23 23:01:18 -07:00
mux mux: restore same-domain check for cwd when spawning tabs 2022-06-08 07:56:00 -07:00
procinfo cut more things over to dynamic 2022-05-18 07:47:39 -07:00
promise wezterm-gui start now prefers to run via existing gui instance 2022-01-07 17:12:35 -07:00
pty pty: fix compilation warning on !windows 2022-04-19 13:58:27 -07:00
rangeset Speedup font loading with fontconfig and freetype. 2021-09-06 10:53:01 -07:00
ratelim deps: migrate from ratelimit_meter -> governor 2022-06-07 22:55:01 -07:00
strip-ansi-escapes deps: structopt -> clap 3 2022-05-28 07:07:52 -07:00
tabout termwiz: prep for crates.io 2022-04-07 07:27:54 -07:00
term term: avoid fragmenting version/attribute query responses 2022-06-01 07:56:41 -07:00
termwiz avoid invalidating line seqno when applying hyperlinks 2022-06-03 08:40:51 -07:00
test-data x11: window icon had red/blue channels swapped 2022-03-23 07:01:26 -07:00
umask Take care to restore the original umask 2021-01-07 09:20:13 -08:00
vtparse deps: replace pretty_assertions dep with k9 2022-05-04 20:16:41 -07:00
wezterm add wezterm shell-completion subcommand to generate shell completions 2022-05-28 07:43:28 -07:00
wezterm-client disco: reduce info -> debug for gui-sock publish 2022-06-01 05:59:06 -07:00
wezterm-dynamic config: generate errors for things like --config tarm=foo 2022-05-21 13:10:30 -07:00
wezterm-font fonts: add freetype_pcf_long_family_names option 2022-06-09 20:09:47 -07:00
wezterm-gui win32: add extended/enhanced key concept for win32 input mode 2022-06-08 07:41:19 -07:00
wezterm-gui-subcommands deps: structopt -> clap 3 2022-05-28 07:07:52 -07:00
wezterm-input-types win32: add extended/enhanced key concept for win32 input mode 2022-06-08 07:41:19 -07:00
wezterm-mux-server deps: structopt -> clap 3 2022-05-28 07:07:52 -07:00
wezterm-mux-server-impl cli: add move-pane-to-new-tab command 2022-05-28 06:43:22 -07:00
wezterm-ssh Use clap::derive::Parser::parse() to fix deprecated warning 2022-05-29 09:54:38 -07:00
wezterm-toast-notification fix hang with open crate when spawning the browser 2022-03-15 07:50:08 -07:00
window x11: Xkb is already in the mandatory list 2022-06-08 08:43:32 -07:00
.cirrus.yml Ensure /run/sshd exists, explicitly set username in sshd fixture, add back use_privilege_mode no 2021-10-10 14:54:45 -07:00
.gitignore termwiz: use perfect hashing for emoji variation sequences 2022-04-26 19:10:00 -07:00
.gitmodules repoint to my freetype mirror 2021-02-03 21:56:30 -08:00
.rustfmt.toml encoding my preferred import grouping in the rustfmt config 2022-01-17 13:50:51 -07:00
Cargo.lock deps: notify -> 5.0.0-pre.15 2022-06-07 23:34:58 -07:00
Cargo.toml restore pretty printing lua values in repl 2022-05-18 07:47:39 -07:00
CONTRIBUTING.md Add get-deps script for installing dependencies 2018-02-25 09:24:56 -08:00
get-deps get-deps: add artix distribution 2022-05-14 17:49:22 -07:00
LICENSE.md Bundle Symbols Nerd Font Mono 2022-01-16 16:04:35 -07:00
README.md Update wording in README.md 2021-05-19 19:08:57 -07:00
wt-record fixup wt-record on darwin 2021-03-20 20:14:17 -07:00
wt-replay update record/play scripts for macos 2019-03-22 20:41:50 -07:00

Wez's Terminal

WezTerm Icon 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

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.