| doc | ||
| scripts | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| base64.c | ||
| base64.h | ||
| commands.c | ||
| commands.h | ||
| config.c | ||
| config.h | ||
| csi.c | ||
| csi.h | ||
| font.c | ||
| font.h | ||
| foot.desktop | ||
| foot.info | ||
| footrc | ||
| grid.c | ||
| grid.h | ||
| input.c | ||
| input.h | ||
| keymap.h | ||
| LICENSE | ||
| log.c | ||
| log.h | ||
| main.c | ||
| meson.build | ||
| osc.c | ||
| osc.h | ||
| PKGBUILD | ||
| README.md | ||
| render.c | ||
| render.h | ||
| search.c | ||
| search.h | ||
| selection.c | ||
| selection.h | ||
| shm.c | ||
| shm.h | ||
| slave.c | ||
| slave.h | ||
| stride.h | ||
| terminal.c | ||
| terminal.h | ||
| tllist.h | ||
| tokenize.c | ||
| tokenize.h | ||
| vt.c | ||
| vt.h | ||
foot
foot is a fast Wayland terminal emulator.
Requirements
Running
- fontconfig
- freetype
- pixman
- wayland (client and cursor libraries)
- xkbcommon
Building
In addition to the dev variant of the packages above, you need:
- meson
- ninja
- wayland protocols
- ncurses
- scdoc
Fonts
foot supports all fonts that can be loaded by freetype, including bitmap fonts and color emoji fonts.
Foot uses its own font fallback mechanism, rather than relying on fontconfig's fallback. This is because fontconfig is quite bad at selecting fallback fonts suitable for a terminal (i.e. monospaced fonts).
Instead, foot allows you to specify a font fallback list, where each font can be configured independently (for example, you can configure the size for each font individually).
If a glyph cannot be found in any of the user configured fallback fonts, then fontconfig's list is used.
Shortcuts
At the moment, all shortcuts are hard coded and cannot be changed. It is not possible to define new key bindings.
Keyboard
-
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
While doing a scrollback search, the following shortcuts are available:
-
ctrl+r
search for next match
-
escape
cancel the search
-
ctrl+g
cancel the search (same as
esc) -
return
finish the search and put the current match to the primary selection
Mouse
-
left - single-click
drag to select; when released, the selected text is copied to the primary selection. Note that this feature is normally disabled whenever the client has enabled mouse tracking, but can be forced by holding
shift. -
left - double-click
selects the word (separated by spaces, period, comma, parenthesis etc) under the pointer. Hold
ctrlto select everything under the pointer up to, and until, the next space characters. -
left - triple-click
selects the entire row
-
middle
paste from primary selection