QuickTerm

I open Terminal dozens of times a day for things that barely warrant a window: git status, a quick cd and ls, killing a hung process, checking whether something is listening on a port. Each time, the Dock lights up, a window appears, and I spend a second deciding where it should live on my screen. Then I close it. Then I open it again.

That friction is small. It also never goes away.

QuickTerm is my answer to it: a menubar terminal for macOS.

Left-click the tray icon, or hit ⌃⌥Space, and a panel drops under the status item. Inside it is a real interactive login shell ($SHELL -l) over a PTY, rendered with xterm.js. Tab completion works. clear works. Interactive programs work. It is not a one-shot command runner pretending to be a terminal.

How it behaves

By default, dismissing the panel (Hide, click outside, hotkey, tray toggle) kills the session. That matches how I use it: open, run something, go away. If you want the shell to survive dismiss, turn on Persist Session in Preferences. Pin keeps the panel open through blur; Hide and the hotkey still dismiss it. Reset tears down the session and starts a fresh one in your sticky start directory.

The app stays an Accessory process — no Dock icon, no Cmd-Tab entry — until you open Preferences. Then it becomes a normal app long enough for you to change settings, and drops back when you close that window.

Stack

Tauri 2 on the Rust side for the tray, window positioning, and PTY. React + Vite + xterm.js on the front. Preferences are a separate decorated window with Settings and About (version and git SHA). Distributed as a Homebrew cask from my tap; no in-app updater.

Install

brew install --cask zeddotes/tap/quick-term

I built this because I wanted a terminal that shows up when I need it and disappears when I don’t, without pretending to replace Terminal.app for long sessions. For the short stuff, the menubar is enough.


Posted

in

by