foot
Launch Wayland terminal emulator
TLDR
Spawn a terminal
Verify your config
Start the server (use footclient to start terminal windows that connect to the server)
Display help
Display version
SYNOPSIS
foot [options...] [--] [program [arguments...]]
PARAMETERS
-c, --config=FILE
Load configuration from FILE instead of defaults.
-C, --config-dir=DIR
Use configuration directory DIR.
-d, --cwd=DIR
Set working directory to DIR.
-e, --exec=PROGRAM
Execute PROGRAM instead of shell.
-f, --font=FONT
Use font FONT (e.g., "monospace:size").
-i, --icon=ICON
Set window icon name to ICON.
-s, --font-size=SIZE
Set initial font size to SIZE.
-t, --title=TITLE
Set initial window title to TITLE.
-T, --term=TERM
Set $TERM to TERM (default: foot).
--app-id=ID
Set Wayland app ID to ID.
--cursor-shape=shape
Set cursor shape: beam, block, underline.
-h, --help
Print help and exit.
-v, --version
Print version information.
-w, --window-size=Pixels
Set window geometry to WIDTHxHEIGHT.
--hold
Keep window open after program exit.
--max-lines=NUM
Limit scrollback buffer to NUM lines.
--server
Run as server (client-server mode).
--client
Run as client, connecting to server.
DESCRIPTION
foot is a terminal emulator designed for Wayland compositors, emphasizing speed, low latency, and minimal resource usage. Unlike many terminals with graphical effects or ligatures, foot prioritizes correctness and performance, rendering text efficiently without unnecessary features.
It supports modern terminal standards like true color, hyperlinks, and sixel graphics. foot uses a client-server architecture optionally, allowing multiple terminal windows to share a single server process for reduced overhead. Configuration is done via a simple foot.ini file, supporting per-window overrides.
Key strengths include sub-millisecond latency, small memory footprint (around 5-10MB per window), and precise mouse reporting. It's script-friendly with features like OSC 52 clipboard support and kitty keyboard protocol. Ideal for users seeking a no-frills, high-performance terminal on Wayland desktops like Sway or Hyprland.
foot avoids X11 embedding, focusing solely on Wayland for native integration. It's lightweight enough for embedded systems or resource-constrained environments while scaling to powerful workstations.
CAVEATS
Wayland-only; no X11 support. Requires Wayland compositor. Client-server mode needs matching font/config. High DPI scaling may need config tweaks.
CONFIGURATION
Primary config: $XDG_CONFIG_HOME/foot/foot.ini. Sections for [main], [colors], [mousebinds], [keybinds]. Supports inline CSI sequences for runtime changes.
CLIENT-SERVER MODE
Run foot --server once; clients via footclient. Shares fonts, reduces latency across windows. Socket at $XDG_RUNTIME_DIR/foot-$WAYLAND_DISPLAY.
HISTORY
Developed by Simon Ser (kpcyrd) starting 2019. First release 2020 as a performant Wayland alternative to urxvt. Active development focuses on standards compliance, sixel/graphics support added in v0.7+. Widely used in Sway/i3wm communities.


