1
1
mirror of https://github.com/wez/wezterm.git synced 2024-11-14 03:16:09 +03:00
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
Go to file
Wez Furlong 210999b915 clipboard: restructure how we capture OSC 52
Previously, we'd create a clipboard handler associated with a GUI window
and take care to pass that down to the underlying Pane whenever we
spawned a new pane.

For the mux server, instead of being associated with a GUI window, the
clipboard was a special RemoteClipboard that would send a PDU through
to the client that spawned the window.

The bug here was that when that client went away, the clipboard for
that window was broken.

If the mux server was the built-in mux in a gui process this could
leave a tab without working OSC 52 clipboard support.

This commit restructures things so that the Mux is responsible for
assigning a clipboard handler that rephrases the clipboard event
as a MuxNotification.

Both the GUI frontend and the mux server dispatcher already listen
for mux notifications and translate those events into appropriate
operations on the system clipboard or Pdus to send to the client(s).

refs: #1790
2022-03-31 09:55:51 -07:00
.cargo build static on windows for static openssl linkage 2020-02-02 13:03:07 -08:00
.github deps: actions/cache -> v3 2022-03-27 19:48:06 -07:00
assets sync color schemes 2022-03-30 20:46:34 -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: add helper for using Direction with Iterator 2022-01-30 12:13:50 -07:00
bintree bintree: clippy lint 2021-03-26 09:01:54 -07:00
ci deps: actions/cache -> v3 2022-03-27 19:48:06 -07:00
codec clipboard: restructure how we capture OSC 52 2022-03-31 09:55:51 -07:00
color-types allow using CSS style color specs in the config 2022-02-06 08:23:26 -07:00
config Disable ligatures for Menlo and Monaco 2022-03-28 19:32:00 -07:00
deps deps: harfbuzz -> 4.1.0 2022-03-26 10:51:35 -07:00
docs clipboard: restructure how we capture OSC 52 2022-03-31 09:55:51 -07:00
env-bootstrap Try harder to get LANG set on macos 2022-03-24 18:26:33 -07:00
filedescriptor filedescriptor: bump version for package publish 2022-01-21 17:08:23 -07:00
licenses macOS: bundle and use MetalANGLE to enable Metal rendering 2020-10-17 09:34:01 -07:00
luahelper more robust cycle detection when debug printing lua values 2022-03-17 09:41:29 -07:00
mux clipboard: restructure how we capture OSC 52 2022-03-31 09:55:51 -07:00
procinfo procinfo: tidy up windows impl a bit 2022-01-01 10:01:19 -07:00
promise wezterm-gui start now prefers to run via existing gui instance 2022-01-07 17:12:35 -07:00
pty fix some warnings on windows 2022-03-18 10:29:01 -07:00
rangeset Speedup font loading with fontconfig and freetype. 2021-09-06 10:53:01 -07:00
ratelim move ratelim to its own crate 2020-10-03 11:15:57 -07:00
strip-ansi-escapes Fix typo in strip-ansi-escapes --help output 2022-01-18 06:18:15 -08:00
tabout termwiz: s/Fuschia/Fuchsia/g 2021-12-21 20:38:59 -07:00
term term: scope the conpty resize quirks better to conpty on windows 2022-03-30 08:06:45 -07:00
termwiz multiplexer: improve handling of image attachments 2022-03-28 20:28:05 -07:00
test-data x11: window icon had red/blue channels swapped 2022-03-23 07:01:26 -07:00
umask Take care to restore the original umask 2021-01-07 09:20:13 -08:00
vtparse fix UB in vtparse 2022-02-10 08:20:22 -07:00
wezterm record: add more metadata, change filename suffix to .txt 2022-03-25 09:46:24 -07:00
wezterm-client mux: fix artifacts in multi-pane layouts after closing a pane 2022-03-28 22:47:32 -07:00
wezterm-font fonts: workaround broken symbol fonts with 0 advances 2022-03-28 18:05:13 -07:00
wezterm-gui clipboard: restructure how we capture OSC 52 2022-03-31 09:55:51 -07:00
wezterm-gui-subcommands Add --workspace parameter to most gui subcommands 2022-01-15 14:01:30 -07:00
wezterm-input-types add support for XF86Copy/XF86Paste keys 2022-03-11 06:43:18 -08:00
wezterm-mux-server thread original umask through when spawning mux server 2022-02-11 10:00:09 -07:00
wezterm-mux-server-impl clipboard: restructure how we capture OSC 52 2022-03-31 09:55:51 -07:00
wezterm-ssh add wezterm.enumerate_ssh_hosts() helper 2022-03-18 07:48:12 -07:00
wezterm-toast-notification fix hang with open crate when spawning the browser 2022-03-15 07:50:08 -07:00
window Improve touchpad precision on Wayland 2022-03-31 07:15:45 -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 mux: understand process tree, add mux-is-process-stateful event 2021-12-18 09:46:00 -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 multiplexer: improve handling of image attachments 2022-03-28 20:28:05 -07:00
Cargo.toml Add wezterm-bidi crate 2022-01-24 19:29:03 -07:00
CONTRIBUTING.md Add get-deps script for installing dependencies 2018-02-25 09:24:56 -08:00
get-deps ci: more adjustments for centos9 2022-02-01 22:27:22 -07:00
LICENSE.md Bundle Symbols Nerd Font Mono 2022-01-16 16:04:35 -07:00
README.md Update wording in README.md 2021-05-19 19:08:57 -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.