mirror of
https://github.com/js0ny/dotfiles.git
synced 2025-12-21 08:43:00 +00:00
125 lines
3.3 KiB
Lua
125 lines
3.3 KiB
Lua
local wezterm = require("wezterm")
|
|
local nf = wezterm.nerdfonts
|
|
local color = require("color")
|
|
|
|
local tabline = wezterm.plugin.require("https://github.com/michaelbrusegard/tabline.wez")
|
|
tabline.setup({
|
|
options = {
|
|
icons_enabled = true,
|
|
theme = "Catppuccin Mocha",
|
|
tabs_enabled = true,
|
|
theme_overrides = {
|
|
tab = {
|
|
inactive = { bg = color.base, fg = color.text },
|
|
active = { fg = color.lavender, bg = color.surface0 },
|
|
inactive_hover = { fg = color.pink, bg = color.surface0 },
|
|
},
|
|
normal_mode = {
|
|
a = { fg = color.mantle, bg = color.lavender }, -- bg: Lavender (Mocha)
|
|
b = { fg = color.lavender, bg = color.surface0 }, -- fg: Lavender (Mocha)
|
|
c = { bg = color.base, fg = color.text },
|
|
},
|
|
copy_mode = {
|
|
c = { bg = color.base, fg = color.text },
|
|
},
|
|
search_mode = {
|
|
c = { bg = color.base, fg = color.text },
|
|
},
|
|
window_mode = {
|
|
c = { bg = color.base, fg = color.text },
|
|
},
|
|
},
|
|
section_separators = {
|
|
left = nf.ple_flame_thick,
|
|
right = nf.ple_flame_thick_mirrored,
|
|
},
|
|
component_separators = {
|
|
left = nf.ple_flame_thick,
|
|
right = nf.ple_flame_thick_mirrored,
|
|
},
|
|
tab_separators = {
|
|
left = nf.ple_ice_waveform,
|
|
right = nf.ple_ice_waveform_mirrored,
|
|
},
|
|
},
|
|
sections = {
|
|
tabline_a = {
|
|
{
|
|
"mode",
|
|
icon = nf.md_alpha_w_box_outline,
|
|
-- icons_only = true,
|
|
fmt = function(str)
|
|
return str:sub(1, 1)
|
|
end,
|
|
},
|
|
},
|
|
tabline_b = { "window" },
|
|
tabline_c = { "" },
|
|
tab_active = {
|
|
"index",
|
|
{ "parent", padding = 0 },
|
|
"/",
|
|
{ "cwd", padding = { left = 0, right = 1 } },
|
|
{ "zoomed", padding = 0 },
|
|
},
|
|
tab_inactive = {
|
|
"index",
|
|
{
|
|
"process",
|
|
padding = { left = 0, right = 1 },
|
|
process_to_icon = {
|
|
["dotnet"] = { nf.dev_dotnet },
|
|
["dotnet.exe"] = { nf.dev_dotnet },
|
|
["emacs"] = { nf.custom_emacs },
|
|
["pwsh"] = { nf.md_powershell },
|
|
["pwsh.exe"] = { nf.md_powershell },
|
|
["powershell.exe"] = { nf.md_powershell },
|
|
["python3.13"] = { nf.md_language_python },
|
|
["less"] = { nf.fa_pager },
|
|
["nu"] = { nf.seti_shell },
|
|
["nu.exe"] = { nf.seti_shell },
|
|
},
|
|
},
|
|
},
|
|
tabline_x = {},
|
|
tabline_y = { "ram" },
|
|
tabline_z = { "datetime" },
|
|
},
|
|
extensions = {},
|
|
})
|
|
|
|
return function(config)
|
|
config.hide_tab_bar_if_only_one_tab = true
|
|
config.tab_bar_at_bottom = true
|
|
-- If set to false, the tab bar will be terminal-like
|
|
config.use_fancy_tab_bar = false
|
|
config.colors = {
|
|
tab_bar = {
|
|
background = color.base,
|
|
active_tab = {
|
|
-- bg_color = color.pink,
|
|
bg_color = color.lavender,
|
|
fg_color = color.overlay0,
|
|
italic = true,
|
|
},
|
|
inactive_tab = {
|
|
bg_color = color.base,
|
|
fg_color = color.text,
|
|
},
|
|
inactive_tab_hover = {
|
|
bg_color = color.mauve,
|
|
fg_color = color.surface2,
|
|
italic = true,
|
|
},
|
|
new_tab = {
|
|
bg_color = color.base,
|
|
fg_color = color.text,
|
|
},
|
|
new_tab_hover = {
|
|
bg_color = color.surface0,
|
|
fg_color = color.pink,
|
|
italic = true,
|
|
},
|
|
},
|
|
}
|
|
end
|