aboutsummaryrefslogtreecommitdiff
path: root/.config/wezterm/appearance.lua
blob: 2376174a6b89c881c5bb6000c9753663397e23b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
local wezterm = require "wezterm"

local function basename(s)
    return string.gsub(s, '(.*[/\\])(.*)', '%2')
end

local function home_or_path(path)
    local realpath = path:sub(14, -1) -- file://lambda
    local home = os.getenv("HOME")
    return realpath == home and "~" or realpath
end

wezterm.on("format-tab-title", function(tab)
    local tab_format = {
        { Text = " " },
        { Text = tostring(tab.tab_index + 1) },
        { Text = "  " },
        { Text = basename(home_or_path(tab.active_pane.current_working_dir)) },
        { Text = " " },
        "ResetAttributes",
    }

    if tab.is_active then
        table.insert(tab_format, 1, { Background = { Color = C.black } })
    end

    return wezterm.format(tab_format)
end)

return {
    -- tabs
    show_new_tab_button_in_tab_bar = false,
    use_fancy_tab_bar = false,
    tab_bar_at_bottom = true,
    hide_tab_bar_if_only_one_tab = true,

    -- font
    font = wezterm.font { 
        family = "FiraCode Nerd Font Mono",
        harfbuzz_features = { "ss02", "ss03", "ss04", "ss08" }
    },
    font_size = 10,
    adjust_window_size_when_changing_font_size = false,

    -- cursor
    default_cursor_style = "BlinkingUnderline",
    cursor_blink_rate = 500,
    animation_fps = 1,

    -- window
    window_padding = {
        left = 10,
        right = 10,
        top = 10,
        bottom = 10
    },

    -- colors
    colors = R "colors",
    bold_brightens_ansi_colors = false,

}