2019-08-11 20:54:28 +02:00
|
|
|
foot(1)
|
|
|
|
|
|
|
|
|
|
# NAME
|
|
|
|
|
foot - Wayland terminal emulator
|
|
|
|
|
|
|
|
|
|
# SYNOPSIS
|
2019-08-15 19:17:51 +02:00
|
|
|
*foot* [_OPTIONS_]++
|
2019-11-19 15:36:15 +01:00
|
|
|
*foot* [_OPTIONS_] -- <_command_>
|
2019-08-15 19:17:51 +02:00
|
|
|
|
|
|
|
|
All trailing (non-option) arguments are treated as a command to
|
|
|
|
|
execute (instead of the shell).
|
2019-08-11 20:54:28 +02:00
|
|
|
|
|
|
|
|
# OPTIONS
|
|
|
|
|
|
2019-12-17 19:09:09 +01:00
|
|
|
*-c*,*--config*=_PATH_
|
2020-01-20 21:27:52 +01:00
|
|
|
Path to configuration file. Default: *XDG_RUNTIME_DIR/footrc*.
|
2019-12-17 19:09:09 +01:00
|
|
|
|
2019-08-11 20:54:28 +02:00
|
|
|
*-f*,*--font*=_FONT_
|
2019-09-21 20:01:55 +02:00
|
|
|
Comma separated list of fonts to use, in fontconfig format (see
|
|
|
|
|
*FONT FORMAT*).
|
|
|
|
|
|
|
|
|
|
The first font is the primary font. The remaining fonts are
|
|
|
|
|
fallback fonts that will be used whenever a glyph cannot be found
|
|
|
|
|
in the primary font.
|
|
|
|
|
|
|
|
|
|
The fallback fonts are searched in the order they appear. If a
|
|
|
|
|
glyph cannot be found in any of the fallback fonts, the dynamic
|
|
|
|
|
fallback list from fontconfig (for the primary font) is
|
|
|
|
|
searched.
|
|
|
|
|
|
|
|
|
|
Default: _monospace_.
|
2019-08-11 20:54:28 +02:00
|
|
|
|
2019-08-23 17:26:41 +02:00
|
|
|
*-g*,*--geometry*=_WIDTHxHEIGHT_
|
|
|
|
|
Set initial window width and height.
|
|
|
|
|
|
2019-08-11 20:54:28 +02:00
|
|
|
*-t*,*--term*=_TERM_
|
2020-01-20 21:27:52 +01:00
|
|
|
Value to set the environment variable *TERM* to. Default: *foot*.
|
2019-08-11 20:54:28 +02:00
|
|
|
|
2019-12-14 13:01:37 +01:00
|
|
|
*-s*,*--server*[=_PATH_]
|
2019-11-03 13:46:47 +01:00
|
|
|
Run as a server. In this mode, a single foot instance hosts
|
2019-11-19 14:02:17 +01:00
|
|
|
multiple terminals (windows). Use *footclient*(1) to launch new
|
2019-11-03 13:46:47 +01:00
|
|
|
terminals.
|
|
|
|
|
|
|
|
|
|
This saves some memory since for example fonts and glyph caches
|
|
|
|
|
can be shared between the terminals.
|
|
|
|
|
|
|
|
|
|
It also saves upstart time since the config has already been
|
|
|
|
|
loaded and parsed, and most importantly, fonts have already been
|
|
|
|
|
loaded (and their glyph caches are likely to already have been
|
|
|
|
|
populated).
|
2019-12-14 13:01:37 +01:00
|
|
|
|
2019-11-03 13:46:47 +01:00
|
|
|
Each terminal will have its own rendering threads, but all Wayland
|
|
|
|
|
communication, as well as input/output to the shell, is
|
|
|
|
|
multiplexed in the main thread. Thus, this mode might result in
|
|
|
|
|
slightly worse performance when multiple terminals are under heavy
|
|
|
|
|
load.
|
|
|
|
|
|
|
|
|
|
Also be aware that should one terminal crash, it will take all the
|
|
|
|
|
others with it.
|
2019-12-14 13:01:37 +01:00
|
|
|
|
|
|
|
|
You may optionally override the default socket path,
|
2020-01-20 21:27:52 +01:00
|
|
|
*XDG\_RUNTIME\_DIR/foot.sock*. If you do so, you will need to use
|
2019-12-14 13:01:37 +01:00
|
|
|
the *--server-socket* option in *footclient*(1).
|
2019-11-03 13:46:47 +01:00
|
|
|
|
2020-02-03 19:58:32 +01:00
|
|
|
*--hold*
|
|
|
|
|
Remain open after child process exits.
|
|
|
|
|
|
2020-02-05 19:53:50 +01:00
|
|
|
*-p*,*--print-pid*=_FILE_|_FD_
|
|
|
|
|
Print PID to this file, or FD, when successfully started. The file
|
|
|
|
|
(or FD) is closed immediately after writing the PID. When a _FILE_
|
|
|
|
|
as been specified, the file is unlinked when yambar exits.
|
|
|
|
|
|
|
|
|
|
This option can only be used in combination with *-s*,*--server*.
|
|
|
|
|
|
2020-02-05 19:54:16 +01:00
|
|
|
*-l*,*--log-colorize*=[{*never*,*always*,*auto*}]
|
|
|
|
|
Enables or disables colorization of log output on stderr.
|
|
|
|
|
|
|
|
|
|
*-S*,*--log-no-syslog*
|
|
|
|
|
Disables syslog logging. Logging is only done on stderr. This
|
|
|
|
|
option can only be used in combination with *-s*,*--server*.
|
|
|
|
|
|
2019-08-11 20:54:28 +02:00
|
|
|
*-v*,*--version*
|
2019-12-17 19:09:09 +01:00
|
|
|
Show the version number and quit.
|
2019-08-11 20:54:28 +02:00
|
|
|
|
2019-11-03 13:47:03 +01:00
|
|
|
# DESCRIPTION
|
|
|
|
|
|
|
|
|
|
*foot* is a Wayland terminal emulator. Running it without arguments
|
|
|
|
|
will start a new terminal window with your default shell.
|
|
|
|
|
|
|
|
|
|
You can override the default shell by appending a custom command to
|
|
|
|
|
the foot command line. To ensure foot does not touch the shell
|
|
|
|
|
arguments, use *--*:
|
|
|
|
|
|
|
|
|
|
foot -- sh -c "echo hello world && sleep 5"
|
|
|
|
|
|
2019-08-30 20:26:29 +02:00
|
|
|
# KEYBOARD SHORTCUTS
|
|
|
|
|
|
|
|
|
|
The following keyboard shortcuts are available. Note that they cannot
|
|
|
|
|
be changed.
|
|
|
|
|
|
2020-01-04 14:57:59 +01:00
|
|
|
## NORMAL MODE
|
|
|
|
|
|
2019-08-30 20:26:29 +02:00
|
|
|
*shift*+*page up*/*page down*
|
|
|
|
|
Scroll up/down in history
|
|
|
|
|
|
|
|
|
|
*ctrl*+*shift*+*c*
|
|
|
|
|
Copy selected text to the _clipboard_
|
|
|
|
|
|
|
|
|
|
*ctrl*+*shift*+*v*
|
|
|
|
|
Paste from _clipboard_
|
|
|
|
|
|
|
|
|
|
*ctrl*+*shift*+*r*
|
|
|
|
|
Start a scrollback search
|
|
|
|
|
|
2020-02-10 21:57:55 +01:00
|
|
|
*ctrl*+*+*, *ctrl*+*=*
|
2020-02-09 11:36:49 +01:00
|
|
|
Increase font size by 1pt
|
|
|
|
|
|
|
|
|
|
*ctrl*+*-*
|
|
|
|
|
Decrease font size by 1pt
|
|
|
|
|
|
2020-02-10 21:57:55 +01:00
|
|
|
*ctrl*+*0*
|
2020-02-09 11:36:49 +01:00
|
|
|
Reset font size
|
|
|
|
|
|
2020-01-04 14:57:59 +01:00
|
|
|
## SCROLLBACK SEARCH
|
2019-08-30 20:26:29 +02:00
|
|
|
|
|
|
|
|
*ctrl*+*r*
|
|
|
|
|
Search _backward_ for the next match
|
|
|
|
|
|
|
|
|
|
*ctrl*+*s*
|
|
|
|
|
Search _forward_ for the next match
|
|
|
|
|
|
2020-01-04 14:58:29 +01:00
|
|
|
*ctrl*+*w*
|
|
|
|
|
Extend current selection (and thus the search criteria) to the end
|
|
|
|
|
of the word, or the next word if currently at a word separating
|
|
|
|
|
character.
|
|
|
|
|
|
|
|
|
|
*ctrl*+*shift*+*w*
|
|
|
|
|
Same as *ctrl*+*w*, except that the only word separating
|
|
|
|
|
characters are whitespace characters.
|
|
|
|
|
|
2019-08-30 20:26:29 +02:00
|
|
|
*escape*, *ctrl*+*g*
|
|
|
|
|
Cancel the search
|
|
|
|
|
|
|
|
|
|
*return*
|
|
|
|
|
Finish the search and copy the current match to the primary
|
2019-11-29 22:09:08 +01:00
|
|
|
selection. The terminal selection is kept, allowing you to press
|
|
|
|
|
*ctrl*+*shift*+*c* to copy it to the clipboard.
|
2019-08-30 20:26:29 +02:00
|
|
|
|
|
|
|
|
# MOUSE SHORTCUTS
|
|
|
|
|
|
|
|
|
|
*left*, single-click
|
|
|
|
|
Drag to select; when released, the selected text is copied to the
|
2020-01-04 23:56:17 +01:00
|
|
|
_primary_ selection. This feature is normally *disabled* whenever
|
|
|
|
|
the client has enabled _mouse tracking_, but can be forced by
|
|
|
|
|
holding *shift*.
|
2020-01-04 14:58:43 +01:00
|
|
|
|
|
|
|
|
Holding *ctrl* will create a block selection.
|
2019-08-30 20:26:29 +02:00
|
|
|
|
|
|
|
|
*left*, double-click
|
|
|
|
|
Selects the _word_ (separated by spaces, period, comma,
|
|
|
|
|
parenthesis etc) under the pointer. Hold *ctrl* to select
|
|
|
|
|
everything under the pointer up to, and until, the next space
|
|
|
|
|
characters.
|
|
|
|
|
|
|
|
|
|
*left*, triple-click
|
|
|
|
|
Selects the entire row
|
|
|
|
|
|
|
|
|
|
*middle*
|
|
|
|
|
Paste from the _primary_ selection
|
|
|
|
|
|
2019-11-03 16:23:18 +01:00
|
|
|
*wheel*
|
|
|
|
|
Scroll up/down in history
|
2019-08-11 20:54:28 +02:00
|
|
|
|
|
|
|
|
# FONT FORMAT
|
|
|
|
|
|
|
|
|
|
The font is specified in FontConfig syntax. That is, a colon-separated
|
|
|
|
|
list of font name and font options.
|
|
|
|
|
|
|
|
|
|
_Examples_:
|
|
|
|
|
- Dina:weight=bold:slant=italic
|
2019-09-21 20:43:29 +02:00
|
|
|
- Courier New:size=12
|
2019-08-12 20:00:09 +02:00
|
|
|
|
2020-01-20 21:28:15 +01:00
|
|
|
# ALT/META CHARACTERS
|
|
|
|
|
|
|
|
|
|
By default, foot prefixes meta characters with *ESC*. This corresponds
|
|
|
|
|
to XTerm's *metaSendsEscape* option set to *true*.
|
|
|
|
|
|
|
|
|
|
This can be disabled programatically with *\E[?1036l* (and enabled
|
|
|
|
|
again with *\E[?1036h*).
|
|
|
|
|
|
|
|
|
|
When disabled, foot will instead set the 8:th bit of meta character
|
|
|
|
|
and then UTF-8 encode it. This corresponds to XTerm's *eightBitMeta*
|
|
|
|
|
option set to *true*.
|
|
|
|
|
|
|
|
|
|
This can also be disabled programatically with *rmm* (Reset Meta Mode,
|
|
|
|
|
*\E[?1034l*), and enabled again with *smm* (Set Meta Mode,
|
|
|
|
|
*\E[?1034h*).
|
|
|
|
|
|
2019-08-12 20:00:09 +02:00
|
|
|
|
|
|
|
|
# CONFIGURATION
|
|
|
|
|
|
|
|
|
|
See *foot*(5)
|
|
|
|
|
|
|
|
|
|
# SEE ALSO
|
|
|
|
|
|
2019-11-03 13:47:28 +01:00
|
|
|
*foot*(5), *footclient*(1)
|