local wezterm = require 'wezterm'
local mux = wezterm.mux

local maps = require 'maps'

require 'statusbar'.setup()
require 'events'.setup()

-- wezterm.on("set-up-dotfile-workspace", function(window, pane)
--     -- Set a workspace for coding on a current project
--     -- Top pane is for the editor, bottom pane is for the build tool
--     local project_dir = wezterm.home_dir .. '/projects/test/quarto/quarto-test'
--     local tab, build_pane, window = mux.spawn_window {
--         workspace = 'coding',
--         cwd = project_dir,
--         args = args
--     }
--     local editor_pane = build_pane:split{
--         direction = 'Top',
--         size = 0.6,
--         cwd = project_dir
--     }
--     build_pane:send_text 'quarto check'
--     mux.set_active_workspace 'coding'
-- end)
--
-- wezterm.on('gui-startup', function(cmd)
--     -- allow `wezterm start -- something` to affect what we spawn
--     -- in our initial window
--     local args = {}
--     if cmd then args = cmd.args end
--
--     -- Set a workspace for coding on a current project
--     -- Top pane is for the editor, bottom pane is for the build tool
--     local project_dir = wezterm.home_dir .. '/projects/test/quarto/quarto-test'
--     local tab, build_pane, window = mux.spawn_window {
--         workspace = 'coding',
--         cwd = project_dir,
--         args = args
--     }
--     local editor_pane = build_pane:split {
--         direction = 'Top',
--         size = 0.6,
--         cwd = project_dir
--     }
--     build_pane:send_text 'quarto check'
--
--     -- A workspace for interacting with a local machine that
--     -- runs some docker containners for home automation
--     local tab, pane, window = mux.spawn_window {
--         workspace = 'toppy',
--         args = { 'top' }
--     }
--
--     -- We want to startup in the coding workspace
--     mux.set_active_workspace 'coding'
-- end)

return {
    enable_wayland = 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 },

    color_scheme = "Nord (base16)",

    -- default_prog = {"nu"},
    scrollback_lines = 10000,

    font = wezterm.font('Iosevka'),
    line_height = 1.0,

    leader = { key = 'a', mods = 'CTRL', timeout_milliseconds = 1500 },
    keys = maps.keys,
    key_tables = maps.key_tables
}
