1
1
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
Go to file
Wez Furlong 4d71a7913a macOS: bundle and use MetalANGLE to enable Metal rendering
This commit adjusts the window layer to have it try to load EGL
implementations on macOS.  This is important as the system
provided OpenGL implementation is deprecated and I wanted to
have a path forward for when it is finally removed.

If EGL fails to initialize, we fall back to the CGL/OpenGL
implementation that we used previously.

I've included binaries built for 64-bit intel from the MetalANGLE
project; here's how I built them:

```
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git --depth 1
git clone https://github.com/kakashidinho/metalangle --depth 1
cd metalangle
PATH=$PWD/../depot_tools:$PATH python scripts/bootstrap.py
PATH=$PWD/../depot_tools:$PATH gclient sync
PATH=$PWD/../depot_tools:$PATH gn --args="is_debug=false angle_enable_metal=true angle_enable_vulkan=false angle_enable_gl=false angle_build_all=false" gen out/Release
PATH=$PWD/../depot_tools:$PATH autoninja -C out/Release
```

Those steps are a little too long to want to put them directly
into the wezterm CI.

It is important for metalangle to be >= 8230df39a5
in order for scaling to be handled correctly when dragging windows
between monitors.

refs: https://github.com/kakashidinho/metalangle/issues/34
2020-10-17 09:34:01 -07:00
.cargo build static on windows for static openssl linkage 2020-02-02 13:03:07 -08:00
.github ci: disable cache on macos 2020-10-10 12:00:18 -07:00
assets macOS: bundle and use MetalANGLE to enable Metal rendering 2020-10-17 09:34:01 -07: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 ci: move source archive to run only for appimage build 2020-10-10 17:14:06 -07:00
codec Change cell api to avoid direct access to hyperlink/image 2020-10-11 13:12:46 -07:00
config Windows: improve ALT + dead key handling, part 2 2020-10-15 17:06:09 -07:00
deps fixup win32 build 2020-08-29 10:03:07 -07:00
docs macOS: bundle and use MetalANGLE to enable Metal rendering 2020-10-17 09:34:01 -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 lua: add GuiWin and PaneObject proxies for use in script 2020-10-09 13:55:36 -07:00
mux wayland: fixup timing issue on startup 2020-10-10 16:09:04 -07:00
promise fix clipboard on x11 2020-10-09 11:07:18 -07:00
pty pty: update async example for more recent smol release 2020-10-03 11:15:57 -07: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 termwiz: fixup tests after b3f51e8ee2 2020-10-11 17:21:16 -07:00
termwiz properly implement 0ec79a40f6 2020-10-16 13:58:55 -07: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 allow piping an image into wezterm imgcat 2020-10-16 13:23:46 -07:00
wezterm-mux-server fix a post-fork issue that broke the mux server 2020-10-09 18:53:54 -07:00
window macOS: bundle and use MetalANGLE to enable Metal rendering 2020-10-17 09:34:01 -07:00
.cirrus.yml ci: moar freebsd 2020-10-06 09:53:45 -07:00
.gitignore docs: split out the KeyAssignment enum variants 2020-10-10 08:45:13 -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 window: update to latest glium version 2020-10-11 17:07:47 -07:00
Cargo.toml move strip-ansi-escapes into its own crate 2020-10-03 11:15:57 -07:00
CONTRIBUTING.md Add get-deps script for installing dependencies 2018-02-25 09:24:56 -08:00
get-deps ci: add freebsd CI 2020-09-09 00:18:26 -07: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
wezterm.rb macOS: bundle and use MetalANGLE to enable Metal rendering 2020-10-17 09:34:01 -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.