mirror of
https://github.com/wez/wezterm.git
synced 2024-12-24 13:52:55 +03:00
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
dcbbda7702
This commit introduces a 4th draw pass for rendering sixel and iterm images that are attached to cells. Previously, a cell could container either text or an image from the perspective of the renderer. If it had an image then the glyph bitmap would be ignored in favor of the image. However, that causes sixel behavior to diverge from other terminals (https://github.com/wez/wezterm/issues/942) so we need to be render both of these. The simplest way to achieve this is to add a distinct set of texture coordinates for the attached image and then add a draw pass to alpha blend it over the glyph content. The sixel/iterm image processing stage is also adjusted to preserve the prior cell information and "simply" attach the image info to the cell. Previously, the cell would be replaced with a blank cell with the image attached. The result of this is that the notcurses-demo intro section can now render the orca "enveloped in the soft glow of glyphs" rather than caged in a black box. Note that there are some cases where the render turns blocky but I suspect that that is due to some other misunderstanding between wezterm and notcurses and that we'll root cause it as a follow up. |
||
---|---|---|
.cargo | ||
.github | ||
assets | ||
async_ossl | ||
base91 | ||
bintree | ||
ci | ||
codec | ||
color-types | ||
config | ||
deps | ||
docs | ||
env-bootstrap | ||
filedescriptor | ||
licenses | ||
luahelper | ||
mux | ||
promise | ||
pty | ||
rangeset | ||
ratelim | ||
strip-ansi-escapes | ||
tabout | ||
term | ||
termwiz | ||
test-data | ||
tmux-cc | ||
umask | ||
vtparse | ||
wezterm | ||
wezterm-client | ||
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.