all repos

dotfiles @ master

i use rach linux btw

dotfiles/config/wezterm/wezterm.lua (view raw)

Oleksandr Smirnov Oleksandr Smirnov
olexsmir@gmail.com
updates, 8 days ago
1
local w = require "wezterm"
2
local a = w.action
3
local c = w.config_builder()
4
5
c.default_prog = { "fish" }
6
c.scrollback_lines = 10000
7
8
c.color_scheme = "Tokyo Night"
9
c.font = w.font "JetBrains Mono"
10
c.font_size = 12.4
11
12
c.default_cursor_style = "BlinkingBar"
13
c.cursor_blink_rate = 0
14
c.audible_bell = "Disabled"
15
c.window_decorations = "NONE"
16
c.use_fancy_tab_bar = false
17
c.hide_tab_bar_if_only_one_tab = true
18
c.show_new_tab_button_in_tab_bar = false
19
c.switch_to_last_active_tab_when_closing_tab = true
20
c.window_padding = { left = 0, right = 0, top = 0, bottom = 0 }
21
22
-- keys
23
local function enter_mode(name, action)
24
  return a.Multiple {
25
    action,
26
    a.ActivateKeyTable { name = name, one_shot = false },
27
  }
28
end
29
local function resize_entry(dir)
30
  return enter_mode("resize_pane", a.AdjustPaneSize { dir, 2 })
31
end
32
local function move_tab_entry(rel)
33
  return enter_mode("move_tab", a.MoveTabRelative(rel))
34
end
35
36
c.leader = { mods = "CTRL", key = "t", timeout_milliseconds = 400 }
37
c.keys = {
38
  { mods = "ALT", key = "1", action = a.ActivateTab(0) },
39
  { mods = "ALT", key = "2", action = a.ActivateTab(1) },
40
  { mods = "ALT", key = "3", action = a.ActivateTab(2) },
41
  { mods = "ALT", key = "4", action = a.ActivateTab(3) },
42
  { mods = "ALT", key = "5", action = a.ActivateTab(4) },
43
  { mods = "ALT", key = "6", action = a.ActivateTab(5) },
44
  { mods = "ALT", key = "7", action = a.ActivateTab(6) },
45
  { mods = "ALT", key = "8", action = a.ActivateTab(7) },
46
  { mods = "ALT", key = "9", action = a.ActivateTab(8) },
47
  { mods = "CTRL", key = "=", action = a.IncreaseFontSize },
48
  { mods = "CTRL", key = "-", action = a.DecreaseFontSize },
49
  { mods = "CTRL", key = "0", action = a.ResetFontSize },
50
  { mods = "LEADER", key = "t", action = a.SpawnCommandInNewTab {} },
51
  { mods = "LEADER", key = "w", action = a.CloseCurrentPane { confirm = false } },
52
  { mods = "LEADER", key = "n", action = a.SplitHorizontal {} },
53
  { mods = "LEADER", key = "N", action = a.SplitVertical {} },
54
  { mods = "LEADER", key = "f", action = a.TogglePaneZoomState },
55
  { mods = "LEADER", key = "/", action = a.ActivateCopyMode },
56
  { mods = "LEADER|SHIFT", key = "<", action = move_tab_entry(-1) },
57
  { mods = "LEADER|SHIFT", key = ">", action = move_tab_entry(1) },
58
  { mods = "LEADER", key = "h", action = a.ActivatePaneDirection "Left" },
59
  { mods = "LEADER", key = "j", action = a.ActivatePaneDirection "Down" },
60
  { mods = "LEADER", key = "k", action = a.ActivatePaneDirection "Up" },
61
  { mods = "LEADER", key = "l", action = a.ActivatePaneDirection "Right" },
62
  { mods = "LEADER", key = "LeftArrow", action = resize_entry "Left" },
63
  { mods = "LEADER", key = "DownArrow", action = resize_entry "Down" },
64
  { mods = "LEADER", key = "UpArrow", action = resize_entry "Up" },
65
  { mods = "LEADER", key = "RightArrow", action = resize_entry "Right" },
66
}
67
68
c.key_tables = {
69
  resize_pane = {
70
    { key = "Escape", action = "PopKeyTable" },
71
    { key = "LeftArrow", action = a.AdjustPaneSize { "Left", 2 } },
72
    { key = "h", action = a.AdjustPaneSize { "Left", 2 } },
73
    { key = "RightArrow", action = a.AdjustPaneSize { "Right", 2 } },
74
    { key = "l", action = a.AdjustPaneSize { "Right", 2 } },
75
    { key = "UpArrow", action = a.AdjustPaneSize { "Up", 2 } },
76
    { key = "k", action = a.AdjustPaneSize { "Up", 2 } },
77
    { key = "DownArrow", action = a.AdjustPaneSize { "Down", 2 } },
78
    { key = "j", action = a.AdjustPaneSize { "Down", 2 } },
79
  },
80
  move_tab = {
81
    { key = "Escape", action = "PopKeyTable" },
82
    { mods = "SHIFT", key = "<", action = a.MoveTabRelative(-1) },
83
    { mods = "SHIFT", key = ">", action = a.MoveTabRelative(1) },
84
  },
85
}
86
87
return c