Feature-rich, GPU-accelerated terminal with Lua scripting and built-in multiplexing
WezTerm is a powerful, GPU-accelerated terminal emulator written in Rust with extensive customization via Lua scripting. It offers built-in multiplexing, image protocol support, and cross-platform consistency.
local wezterm = require("wezterm")local config = {}-- Color scheme from built-in themesconfig.color_scheme = "Kanagawa (Gogh)"-- Font configurationconfig.font = wezterm.font("IosevkaTerm NF")config.font_size = 16.0return config
WezTerm comes with hundreds of built-in color schemes. The Gentleman.Dots config uses “Kanagawa (Gogh)” - a pre-installed theme matching the aesthetic of the other terminal configs.
-- Transparency and blurconfig.window_background_opacity = 0.85config.macos_window_background_blur = 20 -- macOS blur radiusconfig.win32_system_backdrop = "Acrylic" -- Windows acrylic effect-- Remove padding for maximum spaceconfig.window_padding = { top = 0, right = 0, left = 0,}
WezTerm intelligently applies platform-specific effects: macos_window_background_blur on macOS, win32_system_backdrop on Windows, providing native-feeling transparency on each platform.
The max_fps = 240 setting is a “hack for smoothness”. While it provides buttery-smooth rendering on high-refresh displays, it may increase power consumption on laptops.
The config includes commented-out Windows-specific settings:
.wezterm.lua
-- Activate ONLY if on Windows with WSL-- config.default_domain = 'WSL:Ubuntu'-- config.front_end = "OpenGL"-- local gpus = wezterm.gui.enumerate_gpus()-- if #gpus > 0 then-- config.webgpu_preferred_adapter = gpus[1]-- end
For Windows WSL users: Uncomment these lines in .wezterm.lua:56-66 to enable WSL Ubuntu as the default shell and optimize GPU rendering.
-- Auto-switch color scheme based on appearancewezterm.on('window-config-reloaded', function(window, pane) local appearance = window:get_appearance() if appearance:find 'Dark' then window:set_config_overrides({color_scheme = 'Kanagawa (Gogh)'}) else window:set_config_overrides({color_scheme = 'Kanagawa Light'}) endend)