Skip to content

geirolafs/font

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

font

font, the font manager

A speed-first terminal font browser, previewer, and activator.

  • Fast fuzzy search by default
  • Optional token filters on demand (Ctrl-R)
  • Multi-select toggling (Space + Enter)
  • Omarchy theme-aware UI + preview with sensible fallbacks

Quickstart

git clone <your-repo-url> font
cd font
./install.sh

# Required: set this explicitly for your library
export FONT_LIB_ROOT="$HOME/Dropbox/Fontfiles"

source ~/.zshrc
font

If ~/.local/bin is not in your PATH:

export PATH="$HOME/.local/bin:$PATH"

If you do not set FONT_LIB_ROOT, auto-detection uses this order:

  1. ~/Dropbox/Fontfiles
  2. ~/Fonts
  3. ~/Library/Fonts (macOS)
  4. ~/.local/share/fonts

Check what was selected:

font root --why

Dependencies

Required (core browse/toggle/index):

  • zsh
  • fzf
  • fd
  • fc-scan
  • fc-cache
  • sha1sum

Enhanced (rich live preview):

  • pango-view
  • chafa

Arch:

sudo pacman -S zsh fzf fd fontconfig pango chafa coreutils

Usage

font

Browser mode

  • j / k: move
  • l or Enter: go deeper
  • h: parent directory
  • s: open search in current scope
  • a: show active fonts
  • Esc: exit

Search mode

  • Type: fast fuzzy filtering
  • Space: mark/unmark
  • Enter: toggle selected fonts
  • Ctrl-R: token mode (apply structured filters)
  • Ctrl-F: fuzzy mode (fast default)
  • Esc: back

Filter tokens

Type tokens in search mode and press Ctrl-R:

  • class:sans|serif|mono|display|script
  • active:on|off
  • style:<text>
  • foundry:<text>
  • format:otf|ttf|ttc|otc
  • mono:true|false
  • var:true|false
  • weight:700
  • weight:>=600
  • weight:<=500
  • weight:400-700

Examples:

  • fragment class:mono active:on
  • style:italic foundry:urw format:otf

Preview quality

  • Best in Ghostty/Kitty terminals (kitty graphics protocol)
  • Falls back to symbol mode in other terminals

Commands

  • font - interactive browser/search
  • font on <path-or-query>
  • font off <path-or-query>
  • font toggle <path-or-query>
  • font active
  • font reindex
  • font filters
  • font preview <font-file>
  • font status <target> (prints on or off only)
  • font root [--why]
  • font current (Omarchy-only; requires omarchy-font-current)

Dev mode (live edits)

Use symlinks so repo changes are reflected instantly:

ln -sfn "$PWD/shell/font.zsh" "$HOME/.config/zsh/functions/font.zsh"
ln -sfn "$PWD/bin/font-list" "$HOME/.local/bin/font-list"
ln -sfn "$PWD/bin/font-preview" "$HOME/.local/bin/font-preview"
ln -sfn "$PWD/bin/font-toggle" "$HOME/.local/bin/font-toggle"

Docs

  • Config: docs/CONFIG.md
  • Troubleshooting: docs/TROUBLESHOOTING.md

About

font, the font manager / a speed-first terminal font browser, previewer, and activator.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages