72 lines
1.6 KiB
Lua
72 lines
1.6 KiB
Lua
local wezterm = require "wezterm"
|
|
|
|
require("variables").listen()
|
|
|
|
local config = wezterm.config_builder()
|
|
|
|
config.hide_tab_bar_if_only_one_tab = true
|
|
|
|
config.font = wezterm.font "Fira Code"
|
|
|
|
config.default_prog = { 'zsh', '--login' }
|
|
config.audible_bell = "Disabled"
|
|
|
|
local darkfile = os.getenv("HOME") .. "/.dark"
|
|
|
|
wezterm.add_to_config_reload_watch_list(darkfile)
|
|
|
|
if io.open(darkfile) then
|
|
config.color_scheme = "lovelace"
|
|
else
|
|
config.color_scheme = "Londontube (light) (terminal.sexy)"
|
|
end
|
|
|
|
local function recompute_window(window)
|
|
local override = window:get_config_overrides() or {}
|
|
|
|
local dimensions = window:get_dimensions()
|
|
|
|
local no_title = override.window_decorations and (not override.window_decorations:find("TITLE"))
|
|
|
|
local padding
|
|
if dimensions.is_full_screen or no_title then
|
|
padding = math.min(dimensions.pixel_width, dimensions.pixel_height) * 0.05
|
|
else
|
|
padding = 10
|
|
end
|
|
override.window_padding = {
|
|
left = padding,
|
|
right = padding,
|
|
top = padding,
|
|
bottom = padding
|
|
}
|
|
|
|
window:set_config_overrides(override)
|
|
end
|
|
|
|
wezterm.on("window-resized", recompute_window)
|
|
wezterm.on("window-config-reload", recompute_window)
|
|
|
|
config.window_decorations = "TITLE | RESIZE"
|
|
|
|
config.keys = {
|
|
{
|
|
key = "d",
|
|
mods = "ALT",
|
|
action = wezterm.action.EmitEvent "toggle-window-decorations"
|
|
};
|
|
}
|
|
|
|
wezterm.on("toggle-window-decorations", function(window)
|
|
local override = window:get_config_overrides() or {}
|
|
|
|
if override.window_decorations == "RESIZE" then
|
|
override.window_decorations = "TITLE | RESIZE"
|
|
else
|
|
override.window_decorations = "RESIZE"
|
|
end
|
|
|
|
window:set_config_overrides(override)
|
|
end)
|
|
|
|
return config
|