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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# Binocular configuration
#
# ── Keybinding syntax ────────────────────────────────────────────────────────
#
# Bind an action to a single key:
# action = "key"
#
# Bind an action to multiple keys (any of them will trigger it):
# action = ["key1", "key2"]
#
# Key format: [modifier+]* key (case-insensitive)
#
# Available modifiers:
# ctrl (alias: control)
# shift
# alt (alias: meta)
#
# Named keys:
# enter, tab, esc, space, backspace, delete, insert
# up, down, left, right
# pageup, pagedown, home, end
# f1 – f12
#
# Single characters: a-z, 0-9, punctuation (e.g. "x", "/", ".")
#
# Examples:
# quit = "ctrl+c"
# scroll_preview_up = ["pageup", "ctrl+u"]
#
# ── Terminal compatibility ───────────────────────────────────────────────────
#
# Not all key combinations work in every terminal. This is a terminal
# limitation, not a bug in binocular.
#
# RELIABLE (work in virtually every terminal):
# ctrl+a through ctrl+z — map to ASCII control codes
# f1 – f12 — dedicated escape sequences
# pageup, pagedown, home, end, insert, delete
# arrow keys (up/down/left/right)
#
# UNRELIABLE (may silently do nothing or type a character instead):
# ctrl+shift+letter — most terminals cannot distinguish this from ctrl+letter
# or shift+letter; the extra modifier is dropped
# ctrl+punctuation — terminals send the same byte as the bare character,
# so the ctrl modifier is invisible to the app
# alt/meta+key — macOS Terminal.app sends a special Unicode character
# instead of an escape sequence unless "Use Option as
# Meta Key" is enabled in preferences
#
# These combinations DO work in terminals that support the Kitty keyboard
# protocol: kitty, WezTerm, ghostty, foot (with protocol enabled).
# ─────────────────────────────────────────────────────────────────────────────
[]
= "ctrl+c"
= "ctrl+h"
= "ctrl+w"
= "ctrl+f"
= "ctrl+e"
= "ctrl+p"
= "ctrl+n"
= "ctrl+t"
= "ctrl+b"
= "ctrl+x"
= "f1"
= "f2"
= "f3"
= "f4"
= ["pageup", "ctrl+u"]
= ["pagedown", "ctrl+d"]
= "tab"
= "f5"
= "enter"
[]
# Maximum number of log entries kept in memory (initial file load + streaming).
# Older entries are dropped when this limit is reached.
= 100000