The terminal,
refined.

GPU-accelerated via Metal + wgpu. Spring-physics animations for silky cursor movement. Built in Rust — fast by default.

smooth-terminal — zsh
~/dev/smooth_terminal (main)
cargo build --release
Compiling smooth_terminal v0.3.1
Compiling wgpu v0.19.4
Compiling glyphon v0.5.0
Finished release [optimized] in 12.4s
~/dev/smooth_terminal (main)
./target/release/smooth_terminal --version
smooth_terminal 0.3.1
~/dev/smooth_terminal (main)

Built for speed. Designed to feel good.

Every detail is intentional — from the GPU pipeline down to the spring constant on your cursor.

GPU Accelerated

Renders entirely via Metal through wgpu. Every glyph, every frame — on the GPU. Zero CPU compositing bottlenecks.

Spring Animations

Physics-based spring system drives cursor movement and scrolling. Tune frequency and damping in your config for exactly the feel you want.

Split Panes

⌘D splits vertically, ⌘⇧D splits horizontally. Navigate with ⌥⌘←→.

🍎

Native macOS

Tabs, Spotlight integration, Launchpad — it looks and feels like a first-party app. No Electron, no compromise.

🎨

True Color

Full 24-bit RGB and 256-color ANSI palette. Ships with Catppuccin Mocha by default. Every color token is configurable.

🔤

Nerd Fonts

Multi-font fallback chain for Powerline glyphs and icon fonts. Configure a primary font + any number of fallbacks per glyph range.

Yours to configure.

Every font, color, opacity, and spring constant lives in a single TOML file. Changes take effect on the next rendered frame — no restart required.

hot-reload enabled
# ~/.config/smooth_terminal/config.toml

[font]
family  = "JetBrains Mono"
size    = 14.0
fallbacks = ["Symbols Nerd Font", "Apple Color Emoji"]

[window]
opacity      = 0.92
blur         = true
padding      = 12

[animation]
cursor_frequency  = 8.0   # spring Hz
cursor_damping    = 0.75
scroll_frequency  = 5.0
scroll_damping    = 0.8

[colors]
background  = "#1e1e2e"
foreground  = "#cdd6f4"
cursor      = "#c9a0ff"
selection   = "#45475a"

[keybindings]
split_vertical    = "Cmd+D"
split_horizontal  = "Cmd+Shift+D"
new_tab           = "Cmd+T"
built with Rust · wgpu / Metal · glyphon · winit · vte

Get running in minutes.

Requires Rust stable and Xcode Command Line Tools for the Metal shader compiler.

  • Clone the repository Grab the source from GitHub
  • Build in release mode ~12 seconds on Apple Silicon
  • Install to /Applications Copies the .app bundle and sets up config
# 1. Clone
git clone https://github.com/darreninglis/smooth_terminal
cd smooth_terminal

# 2. Build
cargo build --release

# 3. Install
make install
# → installs to /Applications/SmoothTerminal.app
# → copies default config to ~/.config/smooth_terminal/

# Optional: set as default terminal
make set-default