1foot(1)                     General Commands Manual                    foot(1)
2
3
4

NAME

6       foot - Wayland terminal emulator
7

SYNOPSIS

9       foot [OPTIONS]
10       foot [OPTIONS] <command> [COMMAND OPTIONS]
11
12       All trailing (non-option) arguments are treated as a command, and its
13       arguments, to execute (instead of the default shell).
14

DESCRIPTION

16       foot is a Wayland terminal emulator. Running it without arguments will
17       start a new terminal window with your default shell.
18
19       You can override the default shell by appending a custom command to the
20       foot command line
21
22           foot sh -c "echo hello world && sleep 5"
23

OPTIONS

25       -c,--config=PATH
26           Path to configuration file. Default: $XDG_CON‐
27           FIG_HOME/foot/foot.ini.
28
29       -C,--check-config
30           Verify configuration and then exit with 0 if ok, otherwise exit
31           with 1.
32
33       -f,--font=FONT
34           Comma separated list of fonts to use, in fontconfig format (see
35           FONT FORMAT).
36
37           The first font is the primary font. The remaining fonts are fall‐
38           back fonts that will be used whenever a glyph cannot be found in
39           the primary font.
40
41           The fallback fonts are searched in the order they appear. If a
42           glyph cannot be found in any of the fallback fonts, the dynamic
43           fallback list from fontconfig (for the primary font) is searched.
44
45           Default: monospace.
46
47       -w,--window-size-pixels=WIDTHxHEIGHT
48           Set initial window width and height, in pixels. Default: 700x500.
49
50       -W,--window-size-chars=WIDTHxHEIGHT
51           Set initial window width and height, in characters. Default: not
52           set.
53
54       -t,--term=TERM
55           Value to set the environment variable TERM to. Default: foot.
56
57       -T,--title=TITLE
58           Initial window title. Default: foot.
59
60       -a,--app-id=ID
61           Value to set the app-id property on the Wayland window to. Default:
62           foot.
63
64       -m,--maximized
65           Start in maximized mode. If both --maximized and --fullscreen are
66           specified, the last one takes precedence.
67
68       -F,--fullscreen
69           Start in fullscreen mode. If both --maximized and --fullscreen are
70           specified, the last one takes precedence.
71
72       -L,--login-shell
73           Start a login shell, by prepending a '-' to argv[0].
74
75       -D,--working-directory=DIR
76           Initial working directory for the client application. Default: CWD
77           of foot.
78
79       -s,--server[=PATH]
80           Run as a server. In this mode, a single foot instance hosts multi‐
81           ple terminals (windows). Use footclient(1) to launch new terminals.
82
83           This saves some memory since for example fonts and glyph caches can
84           be shared between the terminals.
85
86           It also saves upstart time since the config has already been loaded
87           and parsed, and most importantly, fonts have already been loaded
88           (and their glyph caches are likely to already have been populated).
89
90           Each terminal will have its own rendering threads, but all Wayland
91           communication, as well as input/output to the shell, is multiplexed
92           in the main thread. Thus, this mode might result in slightly worse
93           performance when multiple terminals are under heavy load.
94
95           Also be aware that should one terminal crash, it will take all the
96           others with it.
97
98           The default path is $XDG_RUNTIME_DIR/foot-$WAYLAND_DISPLAY.sock.
99
100           If $XDG_RUNTIME_DIR is not set, the default path is instead
101           /tmp/foot.sock.
102
103           If $XDG_RUNTIME_DIR is set, but $WAYLAND_DISPLAY is not, the de‐
104           fault path is $XDG_RUNTIME_DIR/foot.sock.
105
106           Note that if you change the default, you will also need to use the
107           --server-socket option in footclient(1) and point it to your custom
108           socket path.
109
110       -H,--hold
111           Remain open after child process exits.
112
113       -p,--print-pid=FILE|FD
114           Print PID to this file, or FD, when successfully started. The file
115           (or FD) is closed immediately after writing the PID. When a FILE as
116           been specified, the file is unlinked at exit.
117
118           This option can only be used in combination with -s,--server.
119
120       -d,--log-level={info,warning,error}
121           Log level, used both for log output on stderr as well as syslog.
122           Default: info.
123
124       -l,--log-colorize=[{never,always,auto}]
125           Enables or disables colorization of log output on stderr. Default:
126           auto.
127
128       -S,--log-no-syslog
129           Disables syslog logging. Logging is only done on stderr. This op‐
130           tion can only be used in combination with -s,--server.
131
132       -v,--version
133           Show the version number and quit.
134

KEYBOARD SHORTCUTS

136       The following keyboard shortcuts are available.
137
138   NORMAL MODE
139       Note that these are just the defaults; they can be changed in
140       foot.ini(5).
141
142       shift+page up/page down
143           Scroll up/down in history
144
145       ctrl+shift+c
146           Copy selected text to the clipboard
147
148       ctrl+shift+v
149           Paste from clipboard
150
151       shift+insert
152           Paste from the primary selection.
153
154       ctrl+shift+r
155           Start a scrollback search
156
157       ctrl++, ctrl+=
158           Increase font size by 1pt
159
160       ctrl+-
161           Decrease font size by 1pt
162
163       ctrl+0
164           Reset font size
165
166       ctrl+shift+n
167           Spawn a new terminal. If the shell has been configured to emit the
168           OSC 7 escape sequence, the new terminal will start in the current
169           working directory.
170
171   SCROLLBACK SEARCH
172       ctrl+r
173           Search backward for the next match
174
175       ctrl+s
176           Search forward for the next match
177
178       ctrl+w
179           Extend current selection (and thus the search criteria) to the end
180           of the word, or the next word if currently at a word separating
181           character.
182
183       ctrl+shift+w
184           Same as ctrl+w, except that the only word separating characters are
185           whitespace characters.
186
187       ctrl+v, ctrl+y
188           Paste from clipboard into the searh buffer.
189
190       shift+insert
191           Paste from primary selection into the search buffer.
192
193       escape, ctrl+g
194           Cancel the search
195
196       return
197           Finish the search and copy the current match to the primary selec‐
198           tion. The terminal selection is kept, allowing you to press
199           ctrl+shift+c to copy it to the clipboard.
200

MOUSE SHORTCUTS

202       left, single-click
203           Drag to select; when released, the selected text is copied to the
204           primary selection. This feature is normally disabled whenever the
205           client has enabled mouse tracking, but can be forced by holding
206           shift.
207
208           Holding ctrl will create a block selection.
209
210       left, double-click
211           Selects the word (separated by spaces, period, comma, parenthesis
212           etc) under the pointer. Hold ctrl to select everything under the
213           pointer up to, and until, the next space characters.
214
215       left, triple-click
216           Selects the entire row
217
218       middle
219           Paste from the primary selection
220
221       right
222           Extend current selection. Clicking immediately extends the selec‐
223           tion, while hold-and-drag allows you to interactively resize the
224           selection.
225
226       wheel
227           Scroll up/down in history
228

FONT FORMAT

230       The font is specified in FontConfig syntax. That is, a colon-separated
231       list of font name and font options.
232
233       Examples:
234       •   Dina:weight=bold:slant=italic
235       •   Courier New:size=12
236
237

URLs

239       Foot supports URL detection. But, unlike many other terminal emulators,
240       where URLs are highlighted when they are hovered and opened by clicking
241       on them, foot uses a keyboard driven approach.
242
243       Pressing ctrl+shift+u enters “URL mode”, where all currently visible
244       URLs are underlined, and is associated with a “jump-label”. The jump-
245       label indicates the key sequence (e.g. ”AF”) to use to activate the
246       URL.
247
248       The key binding can, of course, be customized, like all other key bind‐
249       ings in foot. See show-urls-launch and show-urls-copy in foot.ini(5).
250
251       show-urls-launch by default opens the URL with xdg-open. This can be
252       changed with the url-launch option.
253
254       show-urls-copy is an alternative to show-urls-launch, that changes what
255       activating an URL does; instead of opening it, it copies it to the
256       clipboard. It is unbound by default.
257
258       Jump label colors, the URL underline color, and the letters used in the
259       jump label key sequences can be configured.
260

ALT/META CHARACTERS

262       By default, foot prefixes meta characters with ESC. This corresponds to
263       XTerm's metaSendsEscape option set to true.
264
265       This can be disabled programmatically with E[?1036l (and enabled again
266       with E[?1036h).
267
268       When disabled, foot will instead set the 8:th bit of meta character and
269       then UTF-8 encode it. This corresponds to XTerm's eightBitMeta option
270       set to true.
271
272       This can also be disabled programmatically with rmm (Reset Meta Mode,
273       E[?1034l), and enabled again with smm (Set Meta Mode, E[?1034h).
274

BACKSPACE

276       Foot transmits DEL (^?) on backspace. This corresponds to XTerm's
277       backarrowKey option set to false, and to DECBKM being reset.
278
279       To instead transmit BS (^H), press ctrl+backspace.
280
281       Note that foot does not implement DECBKM, and that the behavior de‐
282       scribed above cannot be changed.
283
284       Finally, pressing alt will prefix the transmitted byte with ESC.
285

KEYPAD

287       By default, Num Lock overrides the run-time configuration keypad mode;
288       when active, the keypad is always considered to be in numerical mode.
289       This corresponds to XTerm's numLock option set to true.
290
291       In this mode, the keypad keys always sends either numbers (Num Lock is
292       active) or cursor movement keys (up, down, left, right, page up, page
293       down etc).
294
295       This can be disabled programmatically with E[?1035l (and enabled again
296       with E[?1035h).
297
298       When disabled, the keypad sends custom escape sequences instead of num‐
299       bers, when in application mode.
300

CONFIGURATION

302       See foot.ini(5)
303

BUGS

305       Please report bugs to https://codeberg.org/dnkl/foot/issues
306
307       The report should contain the following:
308
309       •   Which Wayland compositor (and version) you are running
310       •   Foot version (foot --version)
311       •   Log output from foot (start foot from another terminal)
312       •   If reporting a crash, please try to provide a bt full backtrace
313           with symbols
314       •   Steps to reproduce. The more details the better
315
316

IRC

318       #foot-terminal on chat.freenode.net
319

SEE ALSO

321       foot.ini(5), footclient(1)
322
323
324
325                                  2021-04-18                           foot(1)
Impressum