aboutsummaryrefslogtreecommitdiff
path: root/share/home/wezterm/config.lua
blob: 872a1aa45872e7455814d41609856a8777289584 (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 act = wezterm.action
local config = {}

if wezterm.config_builder then
  config = wezterm.config_builder()
end

config.color_scheme = 'Catppuccin Mocha'
config.window_background_opacity = 0.9

config.default_cursor_style = "SteadyBar"
config.font = wezterm.font('Blex Mono Nerd Font')
config.font_size = 9.5

config.keys = {
  -- Tab management
  { key = '1', mods = 'ALT', action = act.ActivateTab(0) },
  { key = '2', mods = 'ALT', action = act.ActivateTab(1) },
  { key = '3', mods = 'ALT', action = act.ActivateTab(2) },
  { key = '4', mods = 'ALT', action = act.ActivateTab(3) },
  { key = '5', mods = 'ALT', action = act.ActivateTab(4) },
  { key = '6', mods = 'ALT', action = act.ActivateTab(5) },
  { key = '7', mods = 'ALT', action = act.ActivateTab(6) },
  { key = '8', mods = 'ALT', action = act.ActivateTab(7) },
  { key = 't', mods = 'CTRL|SHIFT', action = act.SpawnTab 'CurrentPaneDomain' },
  { key = 'w', mods = 'CTRL|SHIFT', action = act.CloseCurrentTab{ confirm = true}},
  { key = '{', mods = 'CTRL|SHIFT', action = act.MoveTabRelative(-1) },
  { key = '}', mods = 'CTRL|SHIFT', action = act.MoveTabRelative(1) },

  -- Split management
  {
    key = 'h',
    mods = 'CTRL',
    action = act.SplitHorizontal { domain = 'CurrentPaneDomain' },
  },
  {
    key = 'v',
    mods = 'CTRL',
    action = act.SplitVertical { domain = 'CurrentPaneDomain' },
  },
  {
    key = 'q',
    mods = 'CTRL',
    action = act.CloseCurrentPane { confirm = true },
  },
  -- Split movement
  -- activate pane selection mode with the default alphabet (labels are "a", "s", "d", "f" and so on)
  -- (j)ump to split
  { key = 'j', mods = 'CTRL', action = act.PaneSelect },
  -- show the pane selection mode, but have it swap the active and selected panes
  -- (m)ove split
  {
    key = 'm',
    mods = 'CTRL',
    action = act.PaneSelect {
      mode = 'SwapWithActive',
    },
  },
}

return config