dotfiles/terminal/.config/wezterm/wezterm.lua
Marty Oehme 59223d1003
wezterm: By default connect mux to domain called unix
If we start wezterm muxing we now always connect to the same default
domain. This is a tiny step toward true multiplexing with wezterm.
2025-06-06 15:58:40 +02:00

84 lines
2.3 KiB
Lua

local wezterm = require("wezterm")
local maps = require("maps")
require("statusbar").setup()
require("events").setup()
local function file_exists(name)
local f = io.open(name, "r")
if f ~= nil then
io.close(f)
return true
else
return false
end
end
-- automatically reload colors file
local colorsfile = (os.getenv("XDG_STATE_HOME") or (os.getenv("HOME") .. "/.local/state")) .. "/wezterm/colors.toml"
local colors = {}
if file_exists(colorsfile) == true then
wezterm.add_to_config_reload_watch_list(colorsfile)
colors = wezterm.color.load_scheme(colorsfile)
end
local settings = {
unix_domains = {
{ name = "unix" },
},
enable_wayland = true, -- sadface :-(
xcursor_theme = "Adwaita",
enable_tab_bar = true,
hide_tab_bar_if_only_one_tab = true,
use_fancy_tab_bar = false,
tab_bar_at_bottom = true,
window_padding = { left = 0, right = 0, top = 0, bottom = 0 },
colors = colors,
color_scheme = "Nord (base16)", -- will be overwritten by colors
-- default_prog = {"nu"},
scrollback_lines = 10000,
font = wezterm.font_with_fallback({
{ family = "Iosevka", weight = "Regular", italic = false },
{ family = "Iosevka Nerd Font", weight = "Regular", italic = false },
}),
-- add cursive italic font from Victor font for all weights
font_rules = {
{
italic = true,
intensity = "Bold",
font = wezterm.font_with_fallback({
{ family = "Iosevka", weight = "Bold", italic = true },
{ family = "VictorMono Nerd Font", weight = "Bold", style = "Italic" },
}),
},
{
italic = true,
intensity = "Half",
font = wezterm.font_with_fallback({
{ family = "Iosevka", weight = "DemiBold", italic = true },
{ family = "VictorMono Nerd Font", weight = "DemiBold", style = "Italic" },
}),
},
{
italic = true,
intensity = "Normal",
font = wezterm.font_with_fallback({
{ family = "Iosevka", weight = "Regular", italic = true },
{ family = "VictorMono Nerd Font", style = "Italic" },
}),
},
},
line_height = 1.0,
leader = { key = "a", mods = "CTRL", timeout_milliseconds = 1500 },
keys = maps.keys,
key_tables = maps.key_tables,
mouse_bindings = {
{
event = { Up = { streak = 1, button = "Left" } },
mods = "NONE",
action = wezterm.action.CompleteSelectionOrOpenLinkAtMouseCursor("ClipboardAndPrimarySelection"),
},
},
}
return settings