Wezterm is a [[MIT License]] licensed terminal emulator written in [[Rust]].
- [Website](https://wezfurlong.org)
- [Source](https://github.com/wez/wezterm)
- [Documentation](https://wezfurlong.org/wezterm/config/files.html)
> WezTerm is a powerful cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
# Notability
Unlike many of the other GPU accelerated terminal emulators of the last few years (like [[Alacritty]] and [[Kitty Term]]) WezTerm does not suffer from the frozen redraw bug.
It is very fast and smooth.
Despite using [[Lua]] for configuration, it is very well structured and documented. Getting whatever kind of setup you want is quick and easy.
It acts like a combination of a terminal [[Terminal Emulator|emulator]] and a [[Review - Multiplexers|multiplexer]], including text-mode tab UI (optional).
# Philosophy
## Developer
I have had good experiences reporting bugs to the author - which were fixed - and have submitted a couple of small patches which were merged into main.
# Platform Support
- [[Linux]]
- [[FreeBSD]]
- [[MacOS]]
- [[Windows]]
# Features
- It is configurable using [[Lua]] rather than some fragile configuration language.
- [Multiplex terminal panes, tabs and windows on local and remote hosts, with native mouse and scrollback](https://wezfurlong.org/wezterm/multiplexing.html)
- Doesn't support detatch
- Doesn't support the same kind of UI fanciness as [[tmux - Terminal Multiplexer]] or [[Zellij - Terminal Multiplexer]]
- But is still quite nice and configurable!
- [Ligatures](https://github.com/tonsky/FiraCode#fira-code-monospaced-font-with-programming-ligatures), Color Emoji and font fallback, with true color and [dynamic color schemes](https://wezfurlong.org/wezterm/config/appearance.html#colors).
- [Hyperlinks](https://wezfurlong.org/wezterm/hyperlinks.html)
- [A full list of features can be found here](https://wezfurlong.org/wezterm/features.html)
# Tips
## Transparent Tab Bar
(particularly good for the retro tab bar)
https://github.com/wez/wezterm/issues/2915#issuecomment-1379008372
```lua
local TRANSPARENT = wezterm.color.from_hsla(0,0,0,0)
config = {
colors = {
tab_bar = {
background = TRANSPARENT, -- changed
new_tab = {
fg_color = '#1b1032',
bg_color = TRANSPARENT, -- changed
}
}
}
}
```
## Background Gradients
```lua
window_background_gradient = {
colors = { '#101010', '#000000' },
orientation = {
Radial = {
cy = 0,
}
}
},
```
## Confirm Before Close
- https://wezterm.org/config/lua/config/skip_close_confirmation_for_processes_named.html