Skip to content

Add TermGrid spoon#366

Open
ss251 wants to merge 1 commit into
Hammerspoon:masterfrom
ss251:add-termgrid
Open

Add TermGrid spoon#366
ss251 wants to merge 1 commit into
Hammerspoon:masterfrom
ss251:add-termgrid

Conversation

@ss251

@ss251 ss251 commented Jun 13, 2026

Copy link
Copy Markdown

Add TermGrid Spoon

TermGrid tidies a terminal's windows into a uniform grid with one hotkey — and puts the sessions that are actively working first.

What it does

  • Arranges the windows of any macOS terminal into a clean grid. Auto-detects the terminal you're using; supports iTerm2, Terminal.app, Ghostty, WezTerm, kitty, Alacritty, Warp, Hyper and Tabby (configurable via a bundle id).
  • Sets each window to a consistent size — calibrate it once from a window you like (:calibrate()); remembered per-app in hs.settings.
  • Top-left (or centered) packing; spills onto additional displays only when one screen fills.
  • Optionally prioritizes actively-working Claude Code sessions, detected from the terminal title's status glyph, placing them first. Safely no-ops for non-Claude sessions.

API: :arrange(), :calibrate(), :bindHotkeys(), :start(), :stop(), plus documented config variables. Standard metadata (name/version/author/license/homepage) present; :bindHotkeys() uses hs.spoons.bindHotkeysToSpec.

Docs: docs.json generated with hs.doc.builder.genJSON per SPOONS.md. I also ran scripts/docs/bin/build_docs.py -l against the Spoon locally — passes with no lint warnings.

Homepage: https://github.com/ss251/TermGrid (MIT)

🤖 Generated with Claude Code

TermGrid arranges any terminal's windows into a uniform grid with one hotkey,
prioritizing actively-working Claude Code sessions (detected from the terminal
title), with multi-monitor spill and a calibrate-the-tile-size hotkey. Works
with iTerm2, Terminal.app, Ghostty, WezTerm, kitty, Alacritty, Warp, Hyper and
Tabby.

Homepage: https://github.com/ss251/TermGrid
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant