mirror of
https://github.com/wez/wezterm.git
synced 2024-12-19 03:11:31 +03:00
dc3f2f0572
This is accessible by right-clicking on the `+` button in the tab bar and switches to an overlay offering options to spawn tabs and attach domains. The intent is to allow the configuration file to expand this list of options, and on Windows, to auto-populate with the various combinations of `cmd`, `powershell`, `elevated` and available `wsl` instances, but for the moment the main value of this feature is the ability to attach domains that were not set to connect automatically at startup. This makes things more convenient when launching wezterm via the gui: it is awkward to have to set up shortcuts that run `wezterm connect foo`, or to type in the full path to `wezterm` when you might want to run that manually. Now you can double-click the icon and right-click the `+` and attach the domain. (cc: @rjwalsh) The launcher is a good candidate for being implemented on top of native context menus where available... but we don't have any such API plumbed through the `window` crate, so all platforms get the wonderful terminal based overlay menu right now. refs: https://github.com/wez/wezterm/issues/159
9.2 KiB
9.2 KiB
Changes
Releases are named using the date, time and git commit hash.
Nightly
A bleeding edge build is produced continually (at least daily) from the master branch. It may not be usable and the feature set may change. As features stabilize some brief notes about them may accumulate here.
- Added
initial_rows
andinitial_cols
config options to set the starting size of new terminal windows - Added
hide_tab_bar_if_only_one_tab = true
config option to hide the tab bar when the window contains only a single tab. - Added
HideApplication
key action (defaults toCMD-H
on macOS only) which hides the wezterm application. This is macOS specific. - Added
QuitApplication
key action which causes the gui loop to terminate and the application to exit. This is not bound by default, but you may choose to assign it to something likeCMD-Q
. - Added
set_environment_variables
configuration section to allow defining some environment variables to be passed to your shell. - Added lua based configuration. Reading TOML configuration will be rapidly phased out in favor of the more flexible lua config; for now, both are supported, but new features may not be available via TOML.
- Added launcher overlay. Right click the
+
button on the tab bar or bind a key toShowLauncher
to activate it. It allows spawning tabs in various domains as well as attaching multiplexer sessions that were not connected automatically at startup.
20200202-181957-765184e5
- Improved font shaping performance 2-3x by adding a shaper cache
- Windows: now has support for TLS based multiplexer connections
- Multiplexer: TLS multiplexer can now be bootstrapped via SSH, and automatically manages certificates
- Unix: We now default to spawning shells with the
-l
argument to request a login shell. This is important on macOS where the default GUI environment doesn't source a working PATH from the shell, resulting in an anemic PATH unless the user has taken care to cover this in their shell startup.-l
works to enable a login shell inzsh
,bash
,fish
andtcsh
. If it doesn't work with your shell, you can use thedefault_prog
configuration option to override this. - We now accept
rgb:XX/XX/XX
color syntax for OSC 4 and related escape sequences; previously only#XXXXXX
and named colors were accepted. - We now accept OSC 104 to reset custom colors to their defaults.
- Added Tab Navigator overlay for folks that hoard tabs; it presents
an interactive UI for selecting and activating a tab from a vertically
oriented list. This is bound to
Alt-9
by default. - Added support for DEC Origin Mode (
DECOM
) which improves cursor positioning with some applications - Added support for DEC AutoWrap Mode (
DECAWM
) which was previously always on. This improves rendering for applications that explicitly disable it. - We now show a connection status window while establishing MUX and SSH connections. The status window is also where any interactive authentication is carried out for eg: SSH sessions.
- Improved SSH authentication handling; we now give you a few opportunities to authenticate and are now able to successfully authenticate with sites that have configured 2-Factor authentication in their server side SSH configuration.
- Fixed an issue where SHIFT-Space would swallow the space key.
- Nightly builds are now available for Linux in AppImage format.
- Shift+Left Mouse button can now be used to extend the selection to the clicked location. This is particularly helpful when you want to select something that is larger than the viewport.
- Windows: a single mouse wheel tick now scrolls by the number of positions configured in the Windows system settings (default 3)
- Windows: fixed IME position when the tab bar is enabled
- Windows: removed support for WinPty, which was too difficult to obtain, configure and use.
- Configuration errors now show in a separate window on startup, or when the configuration is reloaded
- Improved reliability and performance of MUX sessions, although they still have room for further improvement
20200113-214446-bb6251f
- Added
color_scheme
configuration option and more than 200 color schemes - Improved resize behavior; lines that were split due to the width of the terminal are now rewrapped on resize. Issue 14
- Double-click and triple-click and hold followed by a drag now extends the selection by word and line respectively.
- The OSC 7 (CurrentWorkingDirectory) escape sequence is now supported; wezterm records the cwd in a tab and that will be used to set the working directory when spawning new tabs in the same domain. You will need to configure your shell to emit OSC 7 when appropriate.
- Changed Backspace/Delete handling
- Added
MoveTabRelative
for changing the ordering of tabs within a window using key assignmentsCTRL+SHIFT+PageUp
andCTRL+SHIFT+PageDown
- The multiplexer protocol is undergoing major changes. The multiplexer will now raise an error if the client and server are incompatible.
- Fixed an issue where wezterm would linger for a few seconds after the last tab was closed
- Fixed an issue where wezterm wouldn't repaint the screen after a tab was closed
- Clicking the OS window close button in the titlebar now closes the window rather than the active tab
- Added
use_ime
option to optionally disable the use of the IME on macOS. You might consider enabling this if you don't like the way that the IME swallows key repeats for some keys. - Fix an issue where the pidfile would leak into child processes and block restarting the mux server
- Fix an issue where the title bars of remote tabs were not picked up at domain attach time
- Fixed selection and scrollbar position for multiplexer tabs
- Added
ScrollByPage
key assignment and moved theSHIFT+PageUp
handling up to the gui layer so that it can be rebound. - X11: a single mouse wheel tick now scrolls by 5 rows rather than 1
- Wayland: normalize line endings to unix line endings when pasting
- Windows: fixed handling of focus related messages, which impacted both the appearance of the text cursor and copy and paste handling.
- When hovering over implicitly hyperlinked items, we no longer show the underline for every other URL with the same destination
20191229-193639-e7aa2f3
- Fixed a hang when using middle mouse button to paste
- Recognize 8-bit C1 codes encoded as UTF-8, which are used in the Fedora 31 bash prexec notification for gnome terminal
- Ensure that underlines are a minimum of 1 pixel tall
- Reduced CPU utilization on some Wayland compositors
- Added
$WEZTERM_CONFIG_FILE
to the start of the config file search path - Added new font rendering options:
font_antialias = "Subpixel" # None, Greyscale, Subpixel
font_hinting = "Full" # None, Vertical, VerticalSubpixel, Full
- Early startup errors now generate a "toast" notification, giving you more of a clue about what went wrong
- We now use the default configuration if the config file had errors, rather than refusing to start
- Wayland compositors: Improved detection of display scaling on startup
- Added
harfuzz_features
option to specify stylistic sets for fonts such as Fira Code, and to control various typographical options - Added a
window_padding
config section to add padding to the window display - We now respect DECSCUSR and DECTCEM escape sequence to select between hidden, block, underline and bar cursor types, as well as blinking cursors. New configuration options have been added to control the appearance and blink rate.
- We now support an optional basic scroll bar. The scroll bar occupies the right window padding and has a configurable color. Scroll bars are not yet supported for multiplexer connections and remain disabled by default for the moment.
- Color scheme changes made in the config file now take effect at config reload time for all tabs that have not applied a dynamic color scheme.
20191218-101156-bf35707
- Configuration errors detected during config loading are now shown as a system notification
- New
font_dirs
configuration option to specify a set of dirs to search for fonts. Useful for self-contained wezterm deployments. - The
font_system
option has been split intofont_locator
,font_shaper
andfont_rasterizer
options. - Don't allow child processes to inherit open font files on posix systems!
- Disable Nagle's algorithm for
wezterm ssh
sessions - Add native Wayland window system support
20191124-233250-cb9fd7d
- New tab bar UI displays tabs and allows creating new tabs
- Configuration file changes are hot reloaded and take effect automatically on save
wezterm ssh user@host
for ad-hoc SSH sessions. You may also define SSH multiplexer sessions.wezterm serial /dev/ttyUSB0
to connect to your Arduinowezterm imgcat /some/image.png
to display images inline in the terminal using the iTerm2 image protocol- IME support on macOS and Windows systems
- Automatic fallback to software rendering if no GPU is available (eg: certain types of remote desktop sessions)