1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-23 21:32:13 +03:00
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
Go to file
Wez Furlong d8cfdae27b avoid ping-ponging focus updates with multiple windows
The bug here was that each paint call in a window would update
the focus state of its panes to reflect the one that had focus.

However, it didn't account for the actual window focus; it would
just assume that it was focused.

The result was that the perceived focus would alternate between each of
the windows in the wezterm process, and if you were running an
application that had enabled focus tracking, those events could cause a
repaint and drive up the CPU utilization.

This commit addresses that by gating the focus update to only occur
when we have the focus, and for extra safety, avoid generating focus
events at the terminal layer if the new state matches the current state.

refs: https://github.com/wez/wezterm/issues/1838
2022-04-07 21:43:05 -07:00
.cargo build static on windows for static openssl linkage 2020-02-02 13:03:07 -08:00
.github docs: adopt mermaid-js for flowchart 2022-04-03 22:09:17 -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 deps: remove pretty_env_loggger 2022-04-07 08:24:07 -07:00
bintree bintree: clippy lint 2021-03-26 09:01:54 -07:00
ci logging: use our own custom logger 2022-04-07 09:51:00 -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 remove send_composed_key_when_alt_is_pressed option 2022-04-07 21:21:14 -07:00
deps deps: harfbuzz -> 4.2.0 2022-04-03 18:37:25 -07:00
docs remove send_composed_key_when_alt_is_pressed option 2022-04-07 21:21:14 -07:00
env-bootstrap logging: use our own custom logger 2022-04-07 09:51:00 -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 Improve exit_behavior messaging some more 2022-04-06 17:53:46 -07:00
procinfo windows: procinfo: extra defensive coding around reading proc info 2022-04-05 08:54:05 -07:00
promise wezterm-gui start now prefers to run via existing gui instance 2022-01-07 17:12:35 -07:00
pty and this time with feeling! 2022-04-06 19:58:45 -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: prep for crates.io 2022-04-07 07:27:54 -07:00
term avoid ping-ponging focus updates with multiple windows 2022-04-07 21:43:05 -07:00
termwiz deps: remove pretty_env_loggger 2022-04-07 08:24:07 -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 vtparse: bump version for UB fix 2022-04-07 07:28:21 -07:00
wezterm record: add more metadata, change filename suffix to .txt 2022-03-25 09:46:24 -07:00
wezterm-client clientpane: delay before re-sync 2022-04-05 07:29:57 -07:00
wezterm-font deps: remove pretty_env_loggger 2022-04-07 08:24:07 -07:00
wezterm-gui avoid ping-ponging focus updates with multiple windows 2022-04-07 21:43:05 -07:00
wezterm-gui-subcommands flesh out % based and named display for positioning on Windows 2022-04-02 11:11:28 -07:00
wezterm-input-types input: normalize_ctrl shouldn't turn CTRL-Tab into Ctrl-i 2022-04-07 06:47:15 -07:00
wezterm-mux-server thread original umask through when spawning mux server 2022-02-11 10:00:09 -07:00
wezterm-mux-server-impl mux: suppress error messages when client disconnects 2022-04-06 22:23:42 -07:00
wezterm-ssh deps: remove pretty_env_loggger 2022-04-07 08:24:07 -07:00
wezterm-toast-notification fix hang with open crate when spawning the browser 2022-03-15 07:50:08 -07:00
window deps: remove pretty_env_loggger 2022-04-07 08:24:07 -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: adopt mermaid-js for flowchart 2022-04-03 22:09:17 -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 logging: use our own custom logger 2022-04-07 09:51:00 -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 debian needs randr package 2022-04-02 23:09:39 -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.