1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-24 22:01:47 +03:00
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
Go to file
Wez Furlong a2a64e80a7 wezterm: update allsorts shaper
The current master of allsorts supports color fonts in both bitmap and
svg varieties.  I'm interested to see if I can teach wezterm to render
the svg based variety in a subsequent diff.

First though, it's times to dust off our allsorts shaper logic.

This commit updates to point to the current master of allsorts at the
time of writing; there's a little bit of API fanout that makes it a bit
easier to manage font fallback.

The fallback logic has been improved so that we can now successfully
fall back to the emoji font.

The shaping logic has been improved so that we turn on the options that
enable ZWJ for combining sequences of emoji, such as "man health
worker".

Running with the allsorts shaper enabled produces generally superior
emoji/ligature substitution results compared to harfbuzz with Noto Color
Emoji; the "man health worker" and the flags (eg: `flag: England`) from
the subdivsion-flag section don't get substituted at all with harfbuzz,
but do produce appropriate glyphs with allsorts.

refs: https://github.com/wez/wezterm/issues/66
2020-11-20 16:56:07 -08:00
.cargo build static on windows for static openssl linkage 2020-02-02 13:03:07 -08:00
.github More fun with actions-rs/toolchain 2020-11-17 12:03:24 -08:00
assets wezterm: add shell integration for bash and zsh 2020-11-14 09:07:56 -08:00
async_ossl fixup tls mux sessions 2020-10-04 21:47:12 -07:00
base91 dyn everywhere 2019-06-08 21:28:11 -07:00
bintree wezterm: improve pane resize logic 2020-09-27 16:07:08 -07:00
ci More fun with actions-rs/toolchain 2020-11-17 12:03:24 -08:00
codec Change cell api to avoid direct access to hyperlink/image 2020-10-11 13:12:46 -07:00
config wezterm: add SelectionMode::SemanticZone 2020-11-15 22:23:18 -08:00
deps wezterm-font: tidy up some font hinting/aa options 2020-11-14 17:27:31 -08:00
docs Add note about AA shadows to changelog 2020-11-20 09:10:39 -08:00
env-bootstrap wezterm: add env bootstrap to mux server, too 2020-10-24 23:33:31 -07:00
filedescriptor fix filedescriptor::poll on macos 2020-09-10 13:58:14 -07:00
licenses macOS: bundle and use MetalANGLE to enable Metal rendering 2020-10-17 09:34:01 -07:00
luahelper deps: remove unused deps 2020-11-20 12:37:38 -08:00
mux tmux: plumbing for querying panes when control mode is started up 2020-11-20 09:25:01 -08:00
promise deps: remove unused deps 2020-11-20 12:37:38 -08:00
pty deps: normalize the lazy-static version 2020-11-13 08:15:35 -08:00
rangeset mux: reintroduce server side state to gate pushes 2020-01-10 08:56:27 -08:00
ratelim move ratelim to its own crate 2020-10-03 11:15:57 -07:00
strip-ansi-escapes move strip-ansi-escapes into its own crate 2020-10-03 11:15:57 -07:00
tabout Change cell api to avoid direct access to hyperlink/image 2020-10-11 13:12:46 -07:00
term term: allow embedding application to hook device control mode 2020-11-20 09:24:48 -08:00
termwiz termwiz: deallocate "fat" attrs if all are none 2020-11-20 12:37:38 -08:00
tmux-cc tmux: attach control mode parser to terminal 2020-11-20 09:24:50 -08:00
umask Move server to its own wezterm-mux-server binary 2020-10-03 11:15:57 -07:00
vtparse avoid panic if someone cats a PNG to the terminal 2020-10-16 13:09:50 -07:00
wezterm wezterm: add wezterm set-working-directory 2020-11-13 09:27:14 -08:00
wezterm-client mux/wezterm: move Renderable into Pane 2020-11-20 09:24:56 -08:00
wezterm-font wezterm: update allsorts shaper 2020-11-20 16:56:07 -08:00
wezterm-gui deps: remove unused deps 2020-11-20 12:37:38 -08:00
wezterm-gui-subcommands wezterm: add --class option to specify window class 2020-11-13 08:15:35 -08:00
wezterm-mux-server mux/wezterm: move Renderable into Pane 2020-11-20 09:24:56 -08:00
window deps: remove unused deps 2020-11-20 12:37:38 -08:00
.cirrus.yml ci: moar freebsd 2020-10-06 09:53:45 -07:00
.gitignore docs: add colorschemes + screenshots 2020-10-20 00:40:25 -07:00
.gitmodules fix CI: savannah is down, use a github mirror for freetype 2019-11-24 13:28:02 -08:00
.rustfmt.toml Make rustfmt happy about "async move" 2020-01-20 13:58:21 -08:00
Cargo.lock wezterm: update allsorts shaper 2020-11-20 16:56:07 -08:00
Cargo.toml tmux: attach control mode parser to terminal 2020-11-20 09:24:50 -08:00
CONTRIBUTING.md Add get-deps script for installing dependencies 2018-02-25 09:24:56 -08:00
get-deps Don't hard-code architecture in debian package 2020-11-11 20:31:18 -08:00
LICENSE.md wezterm: bundle JetBrains Mono and Noto Color Emoji fonts 2020-09-29 22:05:18 -07:00
README.md docs: add a bit about contributing 2020-06-16 22:16:56 -07:00
wt-record make it a bit easier to consume wt-record 2020-06-12 08:51:15 -07:00
wt-replay update record/play scripts for macos 2019-03-22 20:41:50 -07:00

Wez's Terminal

A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust

User facing home page 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 two channels for support:

The Matrix/Gitter room is probably better suited to questions than it is to bug reports, but don't be afraid to use whichever you are most comfortable using and we'll work it out.