foot
Foot is a minimalist terminal emulator for Wayland written in C.
Installation
As of the time of writing, the Gentoo package for foot doesn't support pgo because of inconsistent/poor results, see bug #873625 , in contrast with the upstream benchmarks. [1]
USE flags
USE flags for gui-apps/foot Fast, lightweight and minimalistic Wayland terminal emulator
+grapheme-clustering
Enable grapheme clustering support
test
Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
utempter
Enable utmp support via sys-libs/libutempter
verify-sig
Verify upstream signatures on distfiles
Emerge
root #emerge --ask gui-apps/footConfiguration
Foot's user configuration is found at ~/.config/foot/foot.ini. The file and directory won't be created by default. A template can be found in /etc/xdg/foot/foot.ini or from the upstream repository.
Detailed information about all config parameters can be viewed with man foot.ini
To create the directory for the foot config and copy the example:
user $mkdir ~/.config/footuser $cp /etc/xdg/foot/foot.ini .config/foot/foot.iniFont/text configuration
Foot has several font configuration options, the font parameter can be used to set the terminal font. font-bold, font-italic, and font-bold-italic will automatically try to use variants of the primary font, but can be overridden. letter-spacing, horizontal-letter-offset, vertical-letter-offset, underline-offset, box-drawings-uses-font-glyphs, and dpi-aware options are also available.
~/.config/foot/foot.iniSet the font to 8pt Inconsolatafont=Inconsolata:size=8
Server mode configuration
Foot supports the operation of a daemon which can be used to reduce overhead. The server handles all wayland communication, VT parsing, and rendering. Additionally, fonts are cached in a single thread, reducing overall memory usage.
When using the daemon, all clients input and output are multiplexed on a single thread. If a single terminal is very busy, that could cause the rest of slow down as well, this can be mitigated by adding more worker threads. Additionally, if the server crashes all clients will crash.
~/.config/foot/foot.iniIncrease the number of worker threads to use for renderingworkers=32
Foot can be started as a server by running foot -s, this can be added to a window manager startup script to enable it upon login:
~/.config/sway/configStart Foot server with Sway if foot-client is the chosen terminalset $term footclient exec foot -s
Once the server has been started, clients can be started with footclient.
If the configuration file has been updated, the server must be restarted before the configuration is reloaded, this will end all client sessions.
Scrollback configuration
The number of lines saved in the scrollback can be adjusted with:
~/.config/foot/configIncrease the scrollback length to 16384[scrollback] lines=16384
~/.config/foot/configShow scrollback positions as a percentage[scrollback] indicator-format=percentage
Foot will automatically round the
lines value up to the nearest power of 2Color configuration
Colors can be specified with the foreground, background, regular{0-7}, and bright{0-7} parameters.
The order is Black, Red, Green, Yellow, Blue, Magenta, Cyan, White.
~/.config/foot/foot.iniDark+[colors] foreground=cccccc background=1e1e1e regular0=000000# black regular1=cd3131# red regular2=0dbc79# green regular3=e5e510# yellow regular4=2472c8# blue regular5=bc3fbc# magenta regular6=11a8cd# cyan regular7=e5e5e5# white bright0=666666# bright black bright1=f14c4c# bright red bright2=23d18b# bright green bright3=f5f543# bright yellow bright4=3b8eea# bright blue bright5=d670d6# bright magenta bright6=29b8db# bright cyan bright7=e5e5e5# bright white
Example Configuration
Minimal Configuration
~/.config/foot/foot.iniFoot minimal configurationfont=Source Code Pro:size=10 initial-window-size-chars=190x60
This minimal configuration sets the font to Source Code Pro with a size of 10. The window will open with 60, 190 character long, lines. All configuration options can be found on foot's source repository.[2]
Removal
Unmerge
root #emerge --ask --depclean --verbose gui-apps/footTroubleshooting
Terminal break after SSHing
If a SSH connection is made to a destination that does not have the foot terminfo files [1]. This can be corrected in more than one way.
SSH with TERM set
This can be done multiple ways, by running export TERM=xterm-256color once logged in, or starting the SSH session like TERM=xterm-256color ssh
user $TERM=xterm-256color ssh larry@serverInstall terminfo files on destination
This is very distro-dependent, but this info should be part of the sys-libs/ncurses :
root #emerge --ask sys-libs/ncursesSee also
- List of software for Wayland — various desktop related packages for Wayland
- Terminal emulator — emulates a video terminal within another display architecture (e.g. in X).
- Wayland — a communication protocol between a display server and its clients