Wezterm tabbar now gets themed by stylix

This commit is contained in:
William 2024-09-19 11:23:19 -03:00
parent 12f86740ac
commit 747bda0f19

View file

@ -1,87 +1,70 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
let {
tabbar-background = config.lib.stylix.colors.withHashtag.base01;
active-tab-background = config.lib.stylix.colors.withHashtag.base00;
foreground = config.lib.stylix.colors.withHashtag.base05;
in {
programs.wezterm = { programs.wezterm = {
enable = true; enable = true;
extraConfig = '' extraConfig = ''
local act = wezterm.action local act = wezterm.action
local function get_initial_cols_by_hostname() local function get_initial_cols_by_hostname()
local hostname = wezterm.hostname() local hostname = wezterm.hostname()
if hostname == "rotterdam" then if hostname == "rotterdam" then
return 116 return 111
elseif hostname == "io" then elseif hostname == "io" then
return 93 return 93
else else
return 110 return 100
end end
end end
return { return {
disable_default_key_bindings = true, disable_default_key_bindings = true,
window_padding = { window_padding = {
left = 0, left = "2pt",
right = 0, right = "2pt",
bottom = 0, bottom = 0,
top = 0, top = 0,
}, },
colors = { use_fancy_tab_bar = true,
tab_bar = { command_palette_font_size = 12,
background = '${tabbar-background}', initial_cols = get_initial_cols_by_hostname(),
active_tab = { bg_color = '${active-tab-background}', fg_color = '${foreground}', }, initial_rows = 32,
inactive_tab = { bg_color = '${tabbar-background}', fg_color = '${foreground}', }, inactive_pane_hsb = {
inactive_tab_edge = '${tabbar-background}', saturation = 0.7,
new_tab = { bg_color = '${tabbar-background}', fg_color = '${foreground}', }, brightness = 0.5
new_tab_hover = { bg_color = '${foreground}', fg_color = '${tabbar-background}', }, },
}, hide_tab_bar_if_only_one_tab = false,
}, show_new_tab_button_in_tab_bar = true,
window_frame = { front_end = "WebGpu",
active_titlebar_bg = '${tabbar-background}', keys = {
inactive_titlebar_bg = '${tabbar-background}', { key = 'Tab', mods = 'CTRL', action = act.ActivateTabRelative(1) },
}, { key = 'Tab', mods = 'SHIFT|CTRL', action = act.ActivateTabRelative(-1) },
use_fancy_tab_bar = true, { key = 'Enter', mods = 'ALT', action = act.ToggleFullScreen },
initial_cols = get_initial_cols_by_hostname(), { key = ':', mods = 'SHIFT|CTRL', action = act.SplitVertical{ domain = 'CurrentPaneDomain' } },
initial_rows = 32, { key = '?', mods = 'SHIFT|CTRL', action = act.SplitHorizontal{ domain = 'CurrentPaneDomain' } },
inactive_pane_hsb = { { key = '+', mods = 'CTRL', action = act.IncreaseFontSize },
saturation = 0.7, { key = '=', mods = 'CTRL', action = act.IncreaseFontSize },
brightness = 0.5 { key = '-', mods = 'CTRL', action = act.DecreaseFontSize },
}, { key = '_', mods = 'SHIFT|CTRL', action = act.DecreaseFontSize },
hide_tab_bar_if_only_one_tab = false, { key = '0', mods = 'CTRL', action = act.ResetFontSize },
show_new_tab_button_in_tab_bar = true, { key = 'C', mods = 'SHIFT|CTRL', action = act.CopyTo 'Clipboard' },
front_end = "WebGpu", { key = 'F', mods = 'SHIFT|CTRL', action = act.Search 'CurrentSelectionOrEmptyString' },
keys = { { key = 'B', mods = 'SHIFT|CTRL', action = act.ClearScrollback 'ScrollbackOnly' },
{ key = 'Tab', mods = 'CTRL', action = act.ActivateTabRelative(1) }, { key = 'R', mods = 'SHIFT|CTRL', action = act.ReloadConfiguration },
{ key = 'Tab', mods = 'SHIFT|CTRL', action = act.ActivateTabRelative(-1) }, { key = 'T', mods = 'SHIFT|CTRL', action = act.SpawnTab 'CurrentPaneDomain' },
{ key = 'Enter', mods = 'ALT', action = act.ToggleFullScreen }, { key = 'V', mods = 'SHIFT|CTRL', action = act.PasteFrom 'Clipboard' },
{ key = ':', mods = 'SHIFT|CTRL', action = act.SplitVertical{ domain = 'CurrentPaneDomain' } }, { key = 'W', mods = 'SHIFT|CTRL', action = act.CloseCurrentTab{ confirm = true } },
{ key = '?', mods = 'SHIFT|CTRL', action = act.SplitHorizontal{ domain = 'CurrentPaneDomain' } }, { key = 'PageUp', mods = 'SHIFT', action = act.ScrollByPage(-1) },
{ key = '+', mods = 'CTRL', action = act.IncreaseFontSize }, { key = 'PageUp', mods = 'CTRL', action = act.ActivateTabRelative(-1) },
{ key = '=', mods = 'CTRL', action = act.IncreaseFontSize }, { key = 'PageUp', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(-1) },
{ key = '-', mods = 'CTRL', action = act.DecreaseFontSize }, { key = 'PageDown', mods = 'SHIFT', action = act.ScrollByPage(1) },
{ key = '_', mods = 'SHIFT|CTRL', action = act.DecreaseFontSize }, { key = 'PageDown', mods = 'CTRL', action = act.ActivateTabRelative(1) },
{ key = '0', mods = 'CTRL', action = act.ResetFontSize }, { key = 'PageDown', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(1) },
{ key = 'C', mods = 'SHIFT|CTRL', action = act.CopyTo 'Clipboard' }, { key = 'H', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Left' },
{ key = 'F', mods = 'SHIFT|CTRL', action = act.Search 'CurrentSelectionOrEmptyString' }, { key = 'L', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Right' },
{ key = 'B', mods = 'SHIFT|CTRL', action = act.ClearScrollback 'ScrollbackOnly' }, { key = 'K', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Up' },
{ key = 'R', mods = 'SHIFT|CTRL', action = act.ReloadConfiguration }, { key = 'J', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Down' },
{ key = 'T', mods = 'SHIFT|CTRL', action = act.SpawnTab 'CurrentPaneDomain' }, { key = 'P', mods = 'SHIFT|CTRL', action = act.ActivateCommandPalette },
{ key = 'V', mods = 'SHIFT|CTRL', action = act.PasteFrom 'Clipboard' }, },
{ key = 'W', mods = 'SHIFT|CTRL', action = act.CloseCurrentTab{ confirm = true } }, }
{ key = 'PageUp', mods = 'SHIFT', action = act.ScrollByPage(-1) },
{ key = 'PageUp', mods = 'CTRL', action = act.ActivateTabRelative(-1) },
{ key = 'PageUp', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(-1) },
{ key = 'PageDown', mods = 'SHIFT', action = act.ScrollByPage(1) },
{ key = 'PageDown', mods = 'CTRL', action = act.ActivateTabRelative(1) },
{ key = 'PageDown', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(1) },
{ key = 'H', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Left' },
{ key = 'L', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Right' },
{ key = 'K', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Up' },
{ key = 'J', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Down' },
{ key = 'P', mods = 'SHIFT|CTRL', action = act.ActivateCommandPalette },
},
}
''; '';
}; };
} }