Skip to main content
Version: main

foot

Generates a colour theme for foot, the fast, lightweight Wayland terminal emulator from the author of fuzzel. The plugin emits two files: a tinct-colors.ini palette fragment with just the [colors] block (suitable for include= from your main foot.ini), and a tinct.ini example main config with reasonable font/scrollback defaults so first-time users can rename it directly to foot.ini.

Installation

Built into tinct — nothing to install separately. tinct generate -o foot works out of the box.

Quick start

tinct generate -i image -p ~/Pictures/wallpaper.jpg -o foot

Generated files

FilePathRole
tinct-colors.ini~/.config/foot/tinct-colors.iniPalette. Just the [colors] section — every foot colour key in RRGGBB (hex without #) format. Include this from your foot.ini.
tinct.ini~/.config/foot/tinct.iniExample main config. An include= line for the palette plus reasonable font, padding, and scrollback defaults. Rename to foot.ini if you don't already have one.

Generated format

[colors]
foreground=cdd6f4
background=1e1e2e

selection-foreground=1e1e2e
selection-background=89b4fa

urls=89b4fa

regular0=1e1e2e
regular1=f38ba8
regular2=a6e3a1
regular3=f9e2af
regular4=89b4fa
regular5=f5c2e7
regular6=94e2d5
regular7=cdd6f4

bright0=313244
bright1=f38ba8
bright2=a6e3a1
bright3=f9e2af
bright4=89b4fa
bright5=f5c2e7
bright6=94e2d5
bright7=a6adc8

Integration

foot supports an include= directive that pulls another .ini fragment into the running config. Add one line to your ~/.config/foot/foot.ini:

include=~/.config/foot/tinct-colors.ini

Keep your structural settings (font, padding, keybindings, scrollback) in foot.ini and let the included file own the [colors] block.

If you don't have a foot.ini yet, rename the generated tinct.ini instead of editing it by hand:

mv ~/.config/foot/tinct.ini ~/.config/foot/foot.ini

The example tinct.ini already contains the include= line at the top, plus sensible defaults for font, padding and scrollback.

Reload behaviour

Automatic

After writing the files, the plugin sends SIGUSR1 to every running foot process (foot's documented colour-reload signal). The reload is in-place — open terminals keep their content and scrollback; only the colours change.

The signal is sent silently at normal verbosity; the only user-facing message at normal verbosity is the reminder to add the include= line on your first run. Pass -v to see the signal broadcast in the log.

If no foot is running at generate time, the signal is a no-op and the next foot you launch picks up the new palette from the file on disk.

Manual fallback

If for any reason the auto-reload didn't happen (foot wasn't running, or you generated on a different machine):

pkill -SIGUSR1 -x foot

-x matches the exact process name so this doesn't accidentally signal anything else.

Uninstall / revert

  1. Remove the include line from your ~/.config/foot/foot.ini:

    sed -i '/tinct-colors\.ini/d' ~/.config/foot/foot.ini

    If you renamed tinct.ini to foot.ini directly, instead replace it with whatever config you want to use going forward (or delete it to revert foot to its defaults).

  2. Delete the generated files:

    rm ~/.config/foot/tinct-colors.ini ~/.config/foot/tinct.ini
  3. Reload to drop the theme:

    pkill -SIGUSR1 -x foot
  4. External state: this plugin only writes to ~/.config/foot/. No further cleanup is required.

Flags

FlagDefaultDescription
--foot.output-dir~/.config/footOverride the output directory

Colour role mapping

All values are emitted in foot's RRGGBB (6-digit hex, no # prefix) format.

foot key ([colors])Tinct roleNotes
foregroundforegroundDefault text colour
backgroundbackgroundTerminal background
selection-foregroundbackgroundInverted so selection stays legible
selection-backgroundaccent1Primary accent makes selections obvious
urlsaccent1Highlighted URL underline colour
regular0backgroundANSI black (matches bg)
regular1dangerANSI red
regular2successANSI green
regular3warningANSI yellow
regular4accent1ANSI blue
regular5accent2ANSI magenta
regular6accent3ANSI cyan
regular7foregroundANSI white
bright0backgroundMutedBright black (subtle lift off bg)
bright1dangerBright red
bright2successBright green
bright3warningBright yellow
bright4accent1Bright blue
bright5accent2Bright magenta
bright6accent3Bright cyan
bright7foregroundMutedBright white

Customising the template

Extract the default templates to override them:

tinct plugins templates dump -o foot -l ~/.config/tinct/templates/foot

This creates ~/.config/tinct/templates/foot/tinct-colors.ini.tmpl and tinct.ini.tmpl. Tinct uses your versions in preference to the embedded defaults.

See the templating reference for the available functions and palette accessors.

Troubleshooting

Colours unchanged in already-open foot windows

The auto-reload happens via SIGUSR1; if a window pre-dates the signal (e.g. it was launched after tinct generate finished writing but before the signal was delivered), trigger a reload manually:

pkill -SIGUSR1 -x foot

unknown option: include=

foot has supported include= since 1.6 (2020). Upgrade to a current release; every Wayland-shipping distro carries one.

Palette loaded but colours look wrong / partial

Your foot.ini probably has its own [colors] keys after the include= line. foot processes settings in order and the later value wins. Move the include= line below your [colors] block, or delete the overlapping keys from foot.ini.

foot: command not found

The plugin lists foot as a required binary. Install it via your distro's package manager (pacman -S foot, apt install foot, etc.) or build from the upstream repository.

  • alacritty, ghostty, kitty, wezterm — other GPU-accelerated terminals.
  • fuzzel — Wayland launcher from the same author; pairs naturally with foot.
  • tmux — match the terminal palette with your multiplexer status bar.