New:
X11 now supports IME. It currently defaults to disabled, but you can set use_ime = true in your config to enable it (you need to restart wezterm for this to take effect). Many thanks to
@h-M-H for bringing xcb-imdkit to Rust and implementing this in wezterm! #250 #1043
it is now possible to define colors in the range 16-255 in colors and color scheme definitions. Thanks to @potamides! #841 #1056
Added SendKey key assignment action that makes it more convenient to rebind the key input that is sent to a pane.
Added Multiple key assignment action for combining multuple actions in a single press.
X11, Wayland, macOS: Window resizing now prefers to step in increments of the cell size
visual_bell and audible_bell configuration options, as well as a bell event allows you to trigger lua code when the bell is run. #3
wezterm.action_callback function to make it easier to use custom events. Thanks to @bew! #1151
wezterm connect now also supports the --class parameter to override the window class
window_padding now accepts values such as "1cell" or "30%" to compute values based on font or window metrics.
BSDish systems now support toast notifications
wezterm.background_child_process function to spawn a process without waiting.
mux_env_remove setting to control which environment variables should be cleared prior to spawning processes in the multiplexer server #1225
canonicalize_pasted_newlines option to help Windows users manage newlines in pastes #1213
SSH client now uses libssh by default. ssh_backend can be used to change this.
Changed:
New default key assignments: CTRL+PageUp and CTRL+Tab activate next tab, CTRL+PageDown and CTRL+SHIFT+Tab activate previous tab. ALT+{1..8} directly select the first through 8th tabs. Thanks to @friederbluemle! #1132
X11: we now allow matching visuals with >= 8 bits per rgb value. Previously, we only matched exactly 8 bits. This improve compatibility with systems that have the COMPOSITE extension disabled. Thanks to @shizeeg! #1083
Fixed:
wezterm cli spawn would use the initial terminal size for a new tab, rather than using the current tab size #920
Text_background_opacity opacity was not respected
Spawning commands via the mux didn't respect the PATH configured in set_environment_variables. #1029
Cursor could have a transparent "hole" through the window with certain cursor styles
Consolas font + random input could cause a divide-by-zero when computing glyph metrics #1042
Emoji fallback was too strict in respecting VS15/VS16 presentation selection, adjust the fallback to allow showing Emoji/Text presentation if Text/Emoji was requested but not found.
X11: laggy input after selecting text. #1027
macOS: send_composed_key_when_left_alt_is_pressed and send_composed_key_when_right_alt_is_pressed are now respected when use_ime=true. Thanks to @jakelinnzy! #1096
X11: jittery resize with some window managers #1051
X11: window:get_appearance now actually returns Dark when the theme is dark. #1098
ALT + Arrow, PageUp/PageDown, Ins, Del, Home, End incorrectly sent ESC prefixed key sequences. #892
Crash due to Out of Memory condition when the iTerm2 protocol was used to send excessively large PNG files #1031
DCH (delete char) sequence would remove cells and replace them with default-blank cells instead of blank-cells-with-current-bg-color. #789
invisible I-beam or underline cursor when force_reverse_video_cursor = true #1076
SU (scroll up) sequence would fill with default-blank cells instead of blank-cells-with-current-bg-color. #1102
X11: computed but did not use the correct DPI for HiDPI screens #947
d: performance when resolving fallback fonts via fontconfig, and of coverage calculation with freetype. Thanks to
@h-M-H!
Wayland: incorrect initial surface size for HiDPI screens. Thanks to @unrelentingtech! #1111 #1112
Invisible cursor in CopyMode when using kakoune #1113
Wayland: bypass_mouse_reporting_modifiers didn't work. Thanks to @unrelentingtech! #1122
New tabs could have the wrong number of rows and columns if a tiling WM resizes the window before OpenGL has been setup. #1074
Wayland: dragging the window using the tab bar now works. Thanks to @unrelentingtech! #1127
Error matching a font when that font is in a .ttc that contains multiple font families. #1137
Wayland: panic with most recent wlroots. Thanks to @unrelentingtech! #1144
Incorrect spacing for IDEOGRAPHIC SPACE. #1161
Italic fonts weren't always recognized as being italic, resulting in italic variants being used instead of the non-italic variants in some cases! #1162
Ask freetype for cell metrics in bitmap-only fonts, rather than simply taking the bitmap width. #1165
wezterm can now match bitmap fonts that are spread across multiple font files #1189
Ssh config parser incorrectly split Host patterns with commas instead of whitespace #1196
Search now auto-updates when the pane content changes #1205
Fonts with emoji presentation are shifted to better align with the primary font baseline #1203
The whole tab was closed when only the zoomed pane exited. #1235
multiplexer: wrong WEZTERM_UNIX_SOCKET environment passed to children when using unix domain sockets and connect_automatically=true #1222
multiplexer: spawning remote tabs didn't correctly record local tab mapping, resulting in phantom additional tabs showing in the client. #1222
Updated and Improved:
Bundled harfbuzz updated to version 3.0.0, bundled freetype updated to 2.11
Window close confirmations now accept both uppercase and lowercase Y/N key presses. Thanks to @SpyrosRoum! #1119
Multi-click-streaks are now interrupted by the cursor moving to a different cell. Thanks to @unrelentingtech! #1126
.deb packages now Provides: x-terminal-emulator. #1139
use_cap_height_to_scale_fallback_fonts now computes cap-height based on the rasterized glyph bitmap which means that the data is accurate in more cases, including for bitmap fonts. Scaling is now also applied across varying text styles; previously it only applied to a font within an wezterm.font_with_fallback font list.