1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-28 07:55:03 +03:00
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
Go to file
Wez Furlong fdb7c557e9 ssh: close stdout, stderr bridges if child is done and there is no data
Inspecting the wezterm process with `lsof -p`, before and after closing
a pane with `CloseCurrentPane`, the same number of unix domain sockets
are open, which is bad.

This commit tries a bit harder to clean things up: if we got a process
exit condition we now remember that we had it, and, while processing
the IO for that channel, if we have no data for stdout or stderr
(respectively) and the channel exited, we close our end of the
socketpair to encourage EOF to be detected on the other end.

This is sufficient to restore the number of open files to the same
number wezterm had opened prior to opening that pane.

@chipsenkbeil: this might possibly be a factor in the issue you
reported, but I haven't had time to really dig into that yet!

refs: https://github.com/wez/wezterm/issues/2466
refs: https://github.com/wez/wezterm/issues/2456
2022-08-30 08:00:49 -07:00
.cargo build static on windows for static openssl linkage 2020-02-02 13:03:07 -08:00
.github ci: nth time's the charm for winget tag pr thing 2022-08-07 11:31:46 -07:00
assets update conpty to v1.14.2281.0 release 2022-08-29 08:32:08 -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 version bump for publish to crates.io 2022-08-01 18:38:44 -07:00
bintree Add SplitPane assignment 2022-05-21 21:09:11 -07:00
ci docs: CopyMode assignments now have their own individual pages 2022-08-21 11:05:56 -07:00
codec Add cursor and pane position info to wezterm cli list data 2022-07-31 12:01:34 -07:00
color-types color types version bump for crates.io 2022-08-01 18:41:52 -07:00
config Add official dracula color scheme 2022-08-23 09:45:12 -07:00
deps update harfbuzz to 5.1.0 2022-07-31 10:53:25 -07:00
docs ssh: close stdout, stderr bridges if child is done and there is no data 2022-08-30 08:00:49 -07:00
env-bootstrap cleanup log files older than 1 week 2022-08-07 16:44:48 -07:00
filedescriptor Add missing license files 2022-08-17 07:19:12 -07:00
licenses macOS: bundle and use MetalANGLE to enable Metal rendering 2020-10-17 09:34:01 -07:00
lua-api-crates macos: report max_fps in ScreenInfo 2022-08-19 21:02:51 -07:00
luahelper cargo update 2022-08-21 08:51:16 -07:00
mux mux: gracefully handle socketpair failure 2022-08-30 07:11:30 -07:00
procinfo Added winapi feature "shellapi" to procinfo 2022-06-23 09:08:05 -07:00
promise lua: add wezterm.time.call_after and wezterm.reload_configuration 2022-07-18 07:37:41 -07:00
pty update conpty to v1.14.2281.0 release 2022-08-29 08:32:08 -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: structopt -> clap 3 2022-05-28 07:07:52 -07:00
sync-color-schemes Add official dracula color scheme 2022-08-23 09:45:12 -07:00
tabout Add missing license files 2022-08-17 07:19:12 -07:00
term move shape & quad caching to hang off Line appdata 2022-08-26 21:49:33 -07:00
termwiz Adjust render caching; switch to LFU caches from LRU 2022-08-28 10:28:26 -07:00
test-data add overlines to underline test script 2022-07-01 11:24:20 -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 improve error message in case wezterm-gui cannot be run 2022-08-27 15:58:14 -07:00
wezterm-client flesh out some todos with new pane trait methods 2022-08-27 07:58:17 -07:00
wezterm-dynamic Add missing license files 2022-08-17 07:19:12 -07:00
wezterm-font fix build; last commit passed cargo check but not cargo build!? 2022-07-14 09:49:07 -07:00
wezterm-gui add cursor shape/visibility to quad cache key 2022-08-30 07:28:13 -07:00
wezterm-gui-subcommands add wezterm ls-fonts --rasterize-ascii --text foo 2022-08-06 12:46:01 -07:00
wezterm-input-types win32: fix encoding of delete and backspace keys 2022-07-08 20:49:19 -07:00
wezterm-mux-server cargo update 2022-08-21 08:51:16 -07:00
wezterm-mux-server-impl mux: adjust window size after attach 2022-08-05 07:53:44 -07:00
wezterm-ssh ssh: close stdout, stderr bridges if child is done and there is no data 2022-08-30 08:00:49 -07:00
wezterm-toast-notification deps: update zbus 2022-08-21 09:18:32 -07:00
window deps: tiny-skia 0.7 -> 0.8 2022-08-28 20:50:27 -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 deps: tiny-skia 0.7 -> 0.8 2022-08-28 20:50:27 -07:00
Cargo.toml cargo update 2022-08-21 08:51:16 -07:00
CONTRIBUTING.md Update rust by example url 2022-07-29 13:18:53 -07:00
get-deps don't recompile dependencies we've already got 2022-08-07 14:28:45 -07:00
LICENSE.md Bundle Symbols Nerd Font Mono 2022-01-16 16:04:35 -07:00
README-DISTRO-MAINTAINER.md add distro-defaults feature 2022-07-10 16:34:43 -07:00
README.md Add sponsor button to readme 2022-06-16 12:45:35 -07:00
wt-record fixup wt-record on darwin 2021-03-20 20:14:17 -07:00
wt-replay update record/play scripts for macos 2019-03-22 20:41:50 -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