LinuxCommandLibrary

foot

Launch Wayland terminal emulator

TLDR

Spawn a terminal

$ foot
copy

Verify your config
$ foot [[-C|--check-config]]
copy

Start the server (use footclient to start terminal windows that connect to the server)
$ foot [[-s|--server]]
copy

Display help
$ foot [[-h|--help]]
copy

Display version
$ foot [[-v|--version]]
copy

SYNOPSIS

foot [OPTIONS...] [COMMAND...]
footclient [OPTIONS...] [COMMAND...]

PARAMETERS

-c FILE, --config=FILE
    Specify an alternative configuration file instead of the default.

-t TITLE, --title=TITLE
    Set the initial window title for the terminal.

-a APP_ID, --app-id=APP_ID
    Set the Wayland application ID for the window.

-s, --server
    Run foot in server mode, allowing footclient to spawn new instances.

-S INSTANCE, --spawn=INSTANCE
    (When using footclient) Spawn a new client instance on a running foot server.

-e, --execute
    Execute the specified COMMAND instead of the default shell.

-W WIDTHxHEIGHT, --window-size=WIDTHxHEIGHT
    Set the initial window size in columns and rows.

--font=FONT
    Specify a font to use, overriding the configuration file.

--working-directory=DIR
    Set the initial working directory for the shell or command.

--log-level=LEVEL
    Set the logging level (e.g., debug, info, warning, error).

--version
    Display the version information of foot.

--help
    Show a help message and exit.

DESCRIPTION

The foot command launches the foot terminal emulator, a Wayland-native terminal designed for speed and resource efficiency. It aims to provide a modern, feature-rich terminal experience directly on Wayland compositors, bypassing X11 dependencies.

Developed with a focus on correctness and performance, foot supports GPU-accelerated text rendering, advanced Unicode (UTF-8) features, and a highly customizable configuration through a simple INI-style file (typically ~/.config/foot/foot.ini). It can operate as a standalone client or as a server to spawn new client instances, optimizing resource usage. Its feature set includes scrollback history, multiple font support, configurable keybindings, and color schemes, making it a robust alternative for users on Wayland environments.

CAVEATS

foot is primarily designed for Wayland compositors; it does not run natively on X11. While it can run under Xwayland, its full potential and efficiency are realized in a pure Wayland environment. Configuration is extensive and primarily managed via the foot.ini file, which might require some learning for new users. Font rendering quality can depend on system font configuration and GPU drivers.

CONFIGURATION FILE

foot's behavior is extensively configured via a text file, typically located at ~/.config/foot/foot.ini. This file uses an INI-like syntax and allows customization of virtually every aspect, including fonts, colors, keybindings, scrollback, bell, and more. Understanding this configuration file is key to fully utilizing foot.

SERVER/CLIENT MODE

When launched with the --server option, foot can run as a background daemon. Subsequent calls to footclient can then connect to this server to spawn new terminal windows. This mode offers performance benefits by sharing resources and reducing startup times for new instances.

HISTORY

foot emerged in the Wayland era as a modern alternative to traditional X11-based terminal emulators. Its development began around 2019, specifically targeting the Wayland protocol to offer a fast, low-latency, and resource-efficient terminal experience. It quickly gained popularity within the Wayland community for its native Wayland support, GPU acceleration, and rich feature set, filling a niche for users seeking performant terminal solutions without X11 dependencies. It is actively maintained and continues to evolve with the Wayland ecosystem.

SEE ALSO

alacritty(1), kitty(1), gnome-terminal(1), konsole(1), xterm(1), foot.ini(5)

Copied to clipboard