1
1
mirror of https://github.com/wez/wezterm.git synced 2024-11-23 23:21:08 +03:00
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
Go to file
Wez Furlong 7cc91696e9 fonts: fix shaping for U+28 U+FF9F
This sequence forms a grapheme with cell_width=2, but harfbuzz returns
it as two distinct clusters, causing our prior logic to shape them
independently from different fonts, but our logic for assessing width
would resolve them both to the same cell and double-count their width,
leading to issues with the rendered result.

This commit revises our clustering logic to add a pass that compares
the harfbuzz cluster positions with the cell-based positions from
the presentation_width that may have been provided.  We use the starting
cell positions from that to order and de-dup so that clusters aren't
split in the wrong place.

refs: https://github.com/wez/wezterm/issues/2572
2022-10-15 08:42:07 -07:00
.cargo build static on windows for static openssl linkage 2020-02-02 13:03:07 -08:00
.github ci: try harder to pin rust version for mdbook breakage 2022-10-01 07:12:23 -07:00
assets deps: update to clap 4 2022-10-04 08:55:31 -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 bidi: exclude test data from crates.io 2022-09-15 06:27:29 -07:00
bintree Add SplitPane assignment 2022-05-21 21:09:11 -07:00
ci macos: add camera entitlement 2022-09-24 19:14:55 -07:00
codec Expose activate-pane-direction cli command (#2526) 2022-09-20 08:37:05 -07:00
color-types color types version bump for crates.io 2022-08-01 18:41:52 -07:00
config config: validate consistency of domain names 2022-10-11 06:59:12 -07:00
deps deps: harfbuzz -> 5.2.0 2022-09-21 21:13:01 -07:00
docs fonts: fix shaping for U+28 U+FF9F 2022-10-15 08:42:07 -07:00
env-bootstrap posix: prefer to resolve shell via the password database 2022-08-31 20:40:06 -07:00
filedescriptor Add missing license files 2022-08-17 07:19:12 -07:00
frecency char selector: track recently selected emoji and use frecency to show it 2022-08-31 22:56:58 -07:00
licenses macOS: bundle and use MetalANGLE to enable Metal rendering 2020-10-17 09:34:01 -07:00
lua-api-crates Add ResetTerminal and pane:inject_output method 2022-10-08 10:25:22 -07:00
luahelper cargo update 2022-08-21 08:51:16 -07:00
mux use iter_panes_ignoring zoom in more places in the mux 2022-09-23 16:44:03 -07:00
procinfo Rearranged order of trimming and parsing 2022-09-06 20:14:27 -07:00
promise lua: add wezterm.time.call_after and wezterm.reload_configuration 2022-07-18 07:37:41 -07:00
pty lua: patch os.getenv with our own function 2022-09-04 15:39:28 -07:00
rangeset rangeset: fix accidentally quadratic complexity 2022-07-24 12:48:02 -07:00
ratelim deps: migrate from ratelimit_meter -> governor 2022-06-07 22:55:01 -07:00
strip-ansi-escapes deps: update to clap 4 2022-10-04 08:55:31 -07:00
sync-color-schemes new color scheme: poimandres 2022-08-30 18:02:14 -07:00
tabout termwiz: prepare for a 0.18.0 release 2022-09-21 19:20:26 -07:00
term term: support utf8 mouse reporting (DECSET 1005) 2022-10-10 23:06:40 -07:00
termwiz fmt 2022-10-12 09:26:13 -07:00
test-data add tty-test.txt for showing most attributes 2022-09-08 08:14:29 -07:00
umask Take care to restore the original umask 2021-01-07 09:20:13 -08:00
vtparse Add missing license files 2022-08-17 07:19:12 -07:00
wezterm deps: update to clap 4 2022-10-04 08:55:31 -07:00
wezterm-client mux client: consider domain id when mapping panes 2022-10-11 21:28:11 -07:00
wezterm-dynamic config: validate consistency of domain names 2022-10-11 06:59:12 -07:00
wezterm-font fonts: fix shaping for U+28 U+FF9F 2022-10-15 08:42:07 -07:00
wezterm-gui charselect: improve compatibility with QMK unicode inputs 2022-10-11 10:57:56 -07:00
wezterm-gui-subcommands deps: update to clap 4 2022-10-04 08:55:31 -07:00
wezterm-input-types win32: fix encoding of delete and backspace keys 2022-07-08 20:49:19 -07:00
wezterm-mux-server deps: update to clap 4 2022-10-04 08:55:31 -07:00
wezterm-mux-server-impl Expose activate-pane-direction cli command (#2526) 2022-09-20 08:37:05 -07:00
wezterm-ssh ssh: libssh: improve diagnostic in case connect fails 2022-10-11 08:19:40 -07:00
wezterm-toast-notification deps: update zbus 2022-08-21 09:18:32 -07:00
window add window-focus-changed event 2022-10-08 09:45:57 -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 docs: CopyMode assignments now have their own individual pages 2022-08-21 11:05:56 -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 cargo update 2022-10-09 20:26:07 -07:00
Cargo.toml deps: pick up updated rust-xcb 2022-10-04 07:53:46 -07:00
CONTRIBUTING.md Update rust by example url 2022-07-29 13:18:53 -07:00
get-deps get-deps: fix void linux deps 2022-10-04 09:01:12 -07:00
LICENSE.md Bundle Symbols Nerd Font Mono 2022-01-16 16:04:35 -07:00
README-DISTRO-MAINTAINER.md fonts: remove last resort font 2022-09-15 08:23:58 -07:00
README.md Use SVG icon 2022-09-15 06:32:16 -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.

Supporting the Project

If you use and like WezTerm, please consider sponsoring it: your support helps to cover the fees required to maintain the project and to validate the time spent working on it!

Sponsor WezTerm