1foot(1) General Commands Manual foot(1)
2
3
4
6 foot - Wayland terminal emulator
7
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
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
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
104 default 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
130 option can only be used in combination with -s,--server.
131
132 -v,--version
133 Show the version number and quit.
134
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
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
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
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
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
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
282 described above cannot be changed.
283
284 Finally, pressing alt will prefix the transmitted byte with ESC.
285
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
302 See foot.ini(5)
303
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
318 #foot-terminal on chat.freenode.net
319
321 foot.ini(5), footclient(1)
322
323
324
325 2021-03-28 foot(1)