1
1
mirror of https://github.com/wez/wezterm.git synced 2024-10-27 08:09:45 +03:00
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
Go to file
Wez Furlong b7771feef6
imgcat: work better with tmux and conpty
Neither of these understand image protocols, and both are
an additional processing layer between the application and
wezterm.

This commit detects and wraps OSC sequences in tmux's passthru
sequence so that the data is passed on to wezterm rather than
elided from the data stream.

For image protocols in both tmux and conpty, work a little
smarter and explicitly move the cursor position to the same
location that wezterm would move it to.  That prevents the
display from being as mangled by tmux/conpty due to a diverging
understanding of the cursor position.

The logic isn't perfect, and can result in the x-coordinate
being incorrect, and this won't work with the new --position
argument either in its current state, without adding a lot
of complexity to deal with scrolling and relative and absolute
positioning handling.

To facilitate that, a new termwiz Terminal trait method has
been added to probe the terminal name, version, cell and pixel
dimensions. It's not pretty.

refs: https://github.com/wez/wezterm/issues/3624
refs: https://github.com/wez/wezterm/issues/3716
2023-07-15 22:13:19 -07:00
.cargo build static on windows for static openssl linkage 2020-02-02 13:03:07 -08:00
.github Revert "ci: don't use release mode for tests" 2023-07-13 08:14:19 -07:00
assets imgcat: add --position, --no-move-cursor and --hold options 2023-07-15 16:27:52 -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 fix(clippy): Use faster methods on Iterators 2023-03-19 07:29:23 -07:00
bintree Add SplitPane assignment 2022-05-21 21:09:11 -07:00
ci Revert "ci: don't use release mode for tests" 2023-07-13 08:14:19 -07:00
codec feat: resize pane from CLI (#3491) 2023-04-18 08:34:39 -07:00
color-types fix(clippy): Implement From instead of Into 2023-04-03 08:31:12 -07:00
config deps: upgrade mlua to 0.9.0-rc.1 2023-07-12 14:14:55 -07:00
deps deps: harfbuzz -> 8.0.1 2023-07-12 06:37:34 -07:00
docs imgcat: work better with tmux and conpty 2023-07-15 22:13:19 -07:00
env-bootstrap env: Strip unwanted Snap variables from environment (#3738) 2023-05-22 06:39:03 -07:00
filedescriptor Image decoding is now done in a bg thread 2023-03-17 11:41:20 -07:00
frecency remove transitive dep on time 0.1 2023-04-18 13:53:59 -07:00
lfucache lfucache: improve LFU algorithm and structure 2022-11-14 10:00:49 -07:00
licenses macOS: bundle and use MetalANGLE to enable Metal rendering 2020-10-17 09:34:01 -07:00
lua-api-crates imgcat: work better with tmux and conpty 2023-07-15 22:13:19 -07:00
luahelper repl: improve printing of various lua types 2023-07-12 14:15:08 -07:00
mux imgcat: work better with tmux and conpty 2023-07-15 22:13:19 -07:00
procinfo fix(clippy): Remove closures where possible 2023-03-19 08:41:38 -07:00
promise fix(clippy): Remove closures where possible 2023-03-19 08:41:38 -07:00
pty hold pane open when spawn fails 2023-07-09 13:53:41 -07:00
rangeset rangeset: fix accidentally quadratic complexity 2022-07-24 12:48:02 -07:00
ratelim ratelimit: remove indirect dep on quanta 2023-04-08 15:47:34 -07:00
strip-ansi-escapes deps: update to clap 4 2022-10-04 08:55:31 -07:00
sync-color-schemes Add new color schemes: hardhacker and bamboo 2023-07-09 21:26:18 -07:00
tabout fixup images with the multiplexer 2023-03-23 21:43:28 -07:00
term imgcat: work better with tmux and conpty 2023-07-15 22:13:19 -07:00
termwiz imgcat: work better with tmux and conpty 2023-07-15 22:13:19 -07:00
test-data add tty-test.txt for showing most attributes 2022-09-08 08:14:29 -07:00
umask fix(clippy): Remove unnecessary clone/to_string calls 2023-03-16 07:40:12 -07:00
vtparse Add missing license files 2022-08-17 07:19:12 -07:00
wezterm imgcat: work better with tmux and conpty 2023-07-15 22:13:19 -07:00
wezterm-blob-leases try scaling down images that don't fit in the texture atlas 2023-05-19 08:57:38 -07:00
wezterm-client feat: handle horizontal mousewheel events 2023-07-10 12:55:13 -07:00
wezterm-dynamic fix(clippy): Remove closures where possible 2023-03-19 08:41:38 -07:00
wezterm-font fonts: micro optimize by caching size calcs 2023-05-29 10:36:59 -07:00
wezterm-gui imgcat: work better with tmux and conpty 2023-07-15 22:13:19 -07:00
wezterm-gui-subcommands Add serial_ports config 2023-03-29 19:05:13 -07:00
wezterm-input-types fix old NF 2.0 symbols for shortcuts in command palette 2023-07-14 11:08:39 -07:00
wezterm-mux-server deps: upgrade mlua to 0.9.0-rc.1 2023-07-12 14:14:55 -07:00
wezterm-mux-server-impl mux server: register additional domains 2023-07-11 09:34:34 -07:00
wezterm-open-url remove open dependency 2023-03-19 13:12:20 -07:00
wezterm-ssh bump some deps, and cargo update 2023-07-09 18:26:46 -07:00
wezterm-toast-notification Fix dbus value parsing issue by upgrading zbus/zvariant crate 2023-05-30 06:27:29 -07:00
wezterm-version build: revise dep graph for version changes 2023-04-08 17:03:03 -07:00
window wayland: speculative fix for reading keymap from a pipe on chromebook 2023-07-10 20:19:20 -07:00
.cirrus.yml ci: maybe increase fbsd disk space 2023-04-21 07:53:30 -07:00
.gitignore docs: simplify templating of install pages 2023-03-21 09:31:49 -07:00
.gitmodules repoint to my freetype mirror 2021-02-03 21:56:30 -08:00
.mailmap add .mailmap 2022-12-07 12:09:06 -08:00
.rustfmt.toml encoding my preferred import grouping in the rustfmt config 2022-01-17 13:50:51 -07:00
Cargo.lock imgcat: work better with tmux and conpty 2023-07-15 22:13:19 -07:00
Cargo.toml patch rust-xcb until a release is made with my alignment fix 2023-07-06 13:03:47 -07:00
CONTRIBUTING.md Typo fixes. 2023-05-16 20:42:29 -07:00
get-deps ci: persuade zypper to install deps in get-deps 2023-03-21 20:01:57 -07:00
LICENSE.md Bundle Symbols Nerd Font Mono 2022-01-16 16:04:35 -07:00
mkdocs_macros.py make the default front_end=WebGpu 2023-04-17 18:00:51 -07:00
README-DISTRO-MAINTAINER.md fonts: remove last resort font 2022-09-15 08:23:58 -07:00
README.md Expand sponsor section of readme 2023-04-02 23:37:54 -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

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!

Read more about sponsoring.