Releases: wez/wezterm
Releases · wez/wezterm
20201031-154415-9614e117
- New: split/pane support!
CTRL+SHIFT+ALT+"
to SplitVertical, andCTRL+SHIFT+ALT+%
to SplitHorizontal. - New: LEADER modifier key support
- New:
window_background_opacity
andwindow_background_image
options to control using background images, transparent windows. More info - New color schemes:
Dracula+
,Gruvbox Light
,MaterialDarker
,Overnight Slumber
,Popping and Locking
,Rapture
,jubi
,nord
. - New: expanded lua API allows handling URI clicks and keyboard events with lua callbacks. See wezterm.on docs.
- The GUI layer now normalizes SHIFT state for keyboard processing. If a keypress is ASCII uppercase and SHIFT is held then the SHIFT modifier is removed from the set of active modifiers. This has implications for your key assignment configuration; previously you would write
{key="T", mods="CTRL|SHIFT"}
, after updating to this release you need to write{key="T", mods="CTRL"}
in order for your key bindings to take effect. - Added
show_tab_index_in_tab_bar
option which defaults to true. Causes the tab's ordinal index to be prefixed to tab titles. The displayed number is 1-based. You can settab_and_split_indices_are_zero_based=true
if you prefer the number to be zero based. - On Linux and macOS systems, wezterm can now attempt to guess the current working directory that should be set in newly spawned local panes/tabs, in case you don't have OSC 7 integration setup in your shell.
- We now bundle JetBrains Mono and use it as the default font, and add it as a default fallback font. Similarly, we also bundle Noto Color Emoji as a default fallback for emoji.
- Added
automatically_reload_config=false
option to disable automatic config reloading. When set to false, you will need to manually trigger a config reload (default:SUPER+R
orCTRL+SHIFT+R
) CloseCurrentTab
now requires aconfirm
parameter.- Halved the memory usage requirements per Cell in the common case (saving 32 bytes per cell), which gives more headroom for users with large scrollback.
- Reduced initial GPU VRAM requirement to 2MiB. Improved texture allocation to avoid needing lots of VRAM.
- macOS: Fix issue where new windows would open as Cocoa tabs when wezterm was maximized.
- macOS: Fix issue where wezterm wouldn't adjust to DPI changes when dragging across monitors or the screen resolution changed
- macOS: Reduced trackpad based scrolling sensitivity; it was hyper sensitive in previous releases, and now it is more reasonable.
- Fix an issue where EGL failed to initialize on Linux
- If EGL/WGL/OpenGL fail to initialize, we now try to fallback to Mesa OpenGL in software render mode. This should result in its llvmpipe renderer being used as a fallback, which has improved visuals compared to wezterm's own basic CPU based renderer. (This applies to X11/Wayland and Windows systems).
- Setting
front_end="Software"
will try to use the Mesa OpenGL software renderer if available (X11/Wayland/Windows). The old basic CPU renderer has been removed. - The multiplexer server has been moved into its own
wezterm-mux-server
executable. You will need to revise yourserve_command
configuration. - Windows: when started in an RDP session, force the use of the Mesa software renderer to work around problems with RDP GPU emulation.
- Fixed an issue with TLS Multiplexing where bootstrapping certificates would usually fail.
- Windows: Fixed an issue that prevented ALT-Space from showing the system menu in the window.
- Windows: Fixed dead key handling. By default dead keys behave the same as in other programs and produce diacritics. However, setting
use_dead_keys = false
in the config will cause dead keys to behave like a regular key; eg:^
would just emit^
as its own character. - Windows: Fixed an issue with the
Hide
key assignment; it would hide the window with no way to show it again!Hide
now minimizes the window instead. - macOS: we now use Metal to render the gui, via MetalANGLE
- Windows: we now prefer to use Direct3D11 to render the gui, via ANGLE EGL. The primary benefit of this is that upgrading your graphics drivers while you have a stateful wezterm session will no longer terminate the wezterm process. Resize behavior is not as smooth with ANGLE as the prior WGL. If you wish, you can set
prefer_egl = false
to use WGL. - Improved image protocol support to have better render fidelity and to reduce VRAM usage when the same image it displayed multiple times in the same pane.
20200909-002054-4c9af461
- Added support for OSC 1 (Icon Title changing), and changed
how that interacts with OSC 2 (Window Title changing).
If you specify OSC 1 as a non-empty string, then that will
be used for the title of that terminal instance in the GUI.
Otherwise the Window Title will be reported instead. - Added missing mappings for Application Keypad keys on Linux
- Workaround an EGL issue where Mesa reports the least-best
alpha value when enumerating configs, rather than the best
alpha. This could lead to incorrect alpha under XWayland
and failure to initialize EGL and fallbacks to the Software
renderer in some other cases. enable_wayland
now defaults tofalse
; mutter keeps breaking
client-side window decoration so let's just make it opt-in so
that the default experience is better.- Fixed a crash on Linux/X11 when using
wezterm connect HOST
- Added
tab_max_width
config setting to limit the maximum
width of tabs in the tab tab. This defaults to 16 glyphs
in width.
20200718-095447-d2315640
- Added support for DECSET 1004 Focus Reporting to local
(not multiplexer) terminal sessions. - Added support for SGR 53/55 which enable/disable Overline style.
printf "\x1b[53moverline\x1b[0m\n"
- Windows: updated bundled openconsole.exe to efb1fdd
to resolve an issue where bold text didn't respect the configured color scheme. - Added
bold_brightens_ansi_colors
option to allow disabling the automatic
brightening of bold text. - Unix: fix an issue where setting the current working directory for a custom
spawned command would not take effect (thanks @john01dav!) - Windows: fixed buffering/timing issue where a response to a color query in
vim could be misinterpreted and replace a character in the editor with the
letterg
. - X11: Improved support for non-24bpp display depths. WezTerm now tries
harder to obtain an 8bpc surface on both 16bpp and 30bpp (10bpc) displays. - Windows: fixed falling back to a simpler OpenGL context if WGL is unable
to negotiate a robust context. This is useful on systems with dual
high/low power GPU hardware where the OpenGL versions for the two GPUs
are different! - Color Schemes: synced with ea2c841
which includes new schemes:Adventure
,Banana Blueberry
,Blue Matrix
,
BlueBerryPie
,Cyberdyne
,Django
,DjangoRebornAgain
,DjangoSmooth
,
DoomOne
,Konsolas
,Laser
,Mirage
,Rouge 2
,Sakura
,Scarlet Protocol
,synthwave-everything
,Tinacious Design (Dark)
,Tinacious Design (Light)
.
20200620-160318-e00b076c
- Fixed default mapping of ambiguous ctrl key combinations (
i
,m
,[
,{
,
@
) so that they emit the old school tab, newline, escape etc. values.
These got broken as part of prototyping CSI-u support a while back. - Added option to enable CSI-u key encodings. This is a new mapping scheme
defined here http://www.leonerd.org.uk/hacks/fixterms/ that disambiguates
and otherwise enables more key binding combinations. You can enable this
setting usingenable_csi_u_key_encoding = true
in your config file. - Very early support for sixel graphics
- macos:
use_ime
now defaults to false; this is a better out of
the box experience for most users. - macos: we now attempt to set a reasonable default LANG environment based
on the locale settings at the time that wezterm is launched. - macos: introduce
send_composed_key_when_left_alt_is_pressed
and
send_composed_key_when_right_alt_is_pressed
boolean config settings. Like
the existingsend_composed_key_when_alt_is_pressed
option, these control
whether theAlt
orOption
modifier produce composed output or generate
the raw key position with the ALT modifier applied. The difference from the
existing config option is that on systems where Left and Right Alt can be
distinguished you now have the ability to control this behavior
independently. The default behavior on these systems is
send_composed_key_when_left_alt_is_pressed=false
and
send_composed_key_when_right_alt_is_pressed=true
so that the right Alt key
behaves more like anAltGr
key and generates the composed input, while the
Left Alt is regular uncomposed Alt. - Fonts: fixed an issue where specifying italic or bold in the second parameter
ofwezterm.font
didn't work as intended or documented - Improved terminal emulation conformance; added left/right margin support
and now passes esctest
to a similar degree as iTerm2 - Fixed an issue where unmodified F5+ would use the CSI-u encoded-modifiers
format, and confused eg:htop
. ActivateTab
now accepts negative numbers as a way to reference the last
tab in the Window. The default assignment forCTRL+SHIFT+9
andCMD+9
is nowActivateTab=-1
, which selects the last tab.- Fixed an issue when applying hyperlink rules to lines that had mixed width
characters
20200608-110940-3fb3a61
- Now available as a homebrew tap and as binaries in AUR
- Windows: Fixed AltGr handling for European layouts
- X11: Added
PastePrimarySelection
key assignment that pastes the contents
of the primary selection rather than the clipboard. - Removed old TOML config file parsing code
- Removed old
arg="something"
key binding parameter. This was a remnant from
the TOML based configuration. You're unlikely to notice this unless you
followed an example from the docs; migrate instead to using eg:
action=wezterm.action{ActivateTab=i-1}
to pass the integer argument. - Windows: now also available with a setup.exe installer. The installer
enables "Open WezTerm Here" in the explorer.exe context menu. - Added
ClearScrollback
key assignment to clear the scrollback. This is bound to CMD-K and CTRL-SHIFT-K by default. - Added
Search
key assignment to search the scrollback. Read the new
scrollback section for more information! - Fixed an issue where ALT+number would send the wrong output for European
keyboard layouts on macOS and Linux. As part of this the default behavior
has changed: we used to force ALT+number to produce ALT+number instead of
the composed key for that layout. We now emit the composed key by default.
You can switch to the old behavior either by explicitly binding those keys
or by settingsend_composed_key_when_alt_is_pressed = false
in your
configuration file. - Windows: the launcher menu now automatically lists out any WSL environments
you have installed so that you can quickly spawn a shell in any of them.
You can suppress this behavior if you wish by setting
add_wsl_distributions_to_launch_menu = false
.
Read more about the launcher menu - Added
ActivateCopyMode
key assignment to put the tab into mouseless-copy
mode; use the keyboard to define the selected text region.
This is bound to CTRL-SHIFT-X by default.
20200608-102924-d979a63
ci: hopefully last tweak for pushing macos homebrew tap
20200608-092131-c5a6862
ci: maybe fix tagging -> homebrew tap
20200607-144723-74889cd4
- Windows: Fixed AltGr handling for European layouts
- X11: Added
PastePrimarySelection
key assignment that pastes the contents
of the primary selection rather than the clipboard. - Removed old TOML config file parsing code
- Removed old
arg="something"
key binding parameter. This was a remnant from
the TOML based configuration. You're unlikely to notice this unless you
followed an example from the docs; migrate instead to using eg:
action=wezterm.action{ActivateTab=i-1}
to pass the integer argument. - Windows: now also available with a setup.exe installer. The installer
enables "Open WezTerm Here" in the explorer.exe context menu. - Added
ClearScrollback
key assignment to clear the scrollback. This is bound to CMD-K and CTRL-SHIFT-K by default. - Added
Search
key assignment to search the scrollback. Read the new
scrollback section for more information! - Fixed an issue where ALT+number would send the wrong output for European
keyboard layouts on macOS and Linux. As part of this the default behavior
has changed: we used to force ALT+number to produce ALT+number instead of
the composed key for that layout. We now emit the composed key by default.
You can switch to the old behavior either by explicitly binding those keys
or by settingsend_composed_key_when_alt_is_pressed = false
in your
configuration file. - Windows: the launcher menu now automatically lists out any WSL environments
you have installed so that you can quickly spawn a shell in any of them.
You can suppress this behavior if you wish by setting
add_wsl_distributions_to_launch_menu = false
.
Read more about the launcher menu - Added
ActivateCopyMode
key assignment to put the tab into mouseless-copy
mode; use the keyboard to define the selected text region.
This is bound to CTRL-SHIFT-X by default.
20200607-142624-9d659486
ci: whoops, fixup path for homebrew tap update
20200607-130724-a909047e
ci: include escape sequence stripper in macos homebrew tap