A GPU-accelerated terminal that's actually fun to look at.
I really like Hyper.js - being able to use CSS to style a terminal just made it fun. But it hasn't been maintained and has been regressing in performance. So like anyone who hasn't tried to do the thing before, I decided "How hard could it be?"
This is the result. It's not as fast as rio or alacritty, but it's got CSS theming, visual effects, and my 6-year-old thinks it's cool. What more could you want?
- CSS Theming - Style your terminal like a website. Hot-reload on save.
- Visual Effects - CRT scanlines, matrix rain, particle systems, animated sprites
- 16 Built-in Themes - Synthwave, Matrix, Nyan Cat, Fallout Pip-Boy, and more
- GPU Rendering - Smooth 60fps via wgpu/vello
curl -sSL https://raw.githubusercontent.com/colliery-io/crt/main/scripts/install.sh | shWindows support coming Soon™
- Launch CRT from Applications (macOS) or run
crt(Linux) - Edit
~/.config/crt/config.tomlto try different themes:[theme] name = "matrix" # or "nyancat", "synthwave", "minimal", etc.
- Save and press
Cmd+Nfor a new window with your theme
CRT includes 16 built-in themes. See the Theme Gallery for screenshots.
| Theme | Description |
|---|---|
alien |
Amber phosphor CRT (Weyland-Yutani MU/TH/UR 6000) |
dracula |
Classic Dracula color scheme |
matrix |
Green falling code with CRT effect |
minimal |
Clean, pure black background |
nyancat |
Bouncing Nyan Cat with stars and sparkles |
particles |
Floating particle effect |
rain |
Animated rain drops |
robco |
Fallout Pip-Boy green phosphor CRT |
shape |
Floating geometric shapes |
solarized |
Solarized Dark color scheme |
starfield |
Twinkling stars background |
stress |
All effects at once (for testing) |
synthwave |
80s neon with perspective grid |
tron |
Cyan grid aesthetic |
vaporwave |
Pink and cyan aesthetic with perspective grid |
wh40k |
Warhammer 40K Adeptus Mechanicus with servo skull |
Create your own at ~/.config/crt/themes/mytheme.css and set name = "mytheme" in config.
Windows & Tabs
| Shortcut | Action |
|---|---|
| Cmd+N | New window |
| Cmd+T | New tab |
| Cmd+W | Close tab |
| Cmd+Shift+W | Close window |
| Cmd+Shift+R | Rename window |
| Cmd+1-9 | Switch to tab 1-9 |
| Cmd+Shift+[ | Previous tab |
| Cmd+Shift+] | Next tab |
| Double-click tab | Rename tab |
Navigation
| Shortcut | Action |
|---|---|
| Shift+Page Up | Scroll up through history |
| Shift+Page Down | Scroll down through history |
| Shift+Home | Jump to top of scrollback |
| Shift+End | Jump to bottom |
| Cmd+Click | Open URL under cursor |
Search & Font
| Shortcut | Action |
|---|---|
| Cmd+F | Open search |
| Enter | Find next match |
| Escape | Close search |
| Cmd+= | Increase font size |
| Cmd+- | Decrease font size |
| Cmd+0 | Reset font size |
Other
| Shortcut | Action |
|---|---|
| Cmd+C | Copy selection |
| Cmd+V | Paste |
| Cmd+A | Select all |
| Cmd+K | Clear scrollback |
| Cmd+Option+P | Toggle profiling |
| Ctrl+Cmd+F | Toggle fullscreen |
Requires Rust 2024 edition:
git clone https://github.com/colliery-io/crt.git
cd crt
cargo build --releaseConfig lives at ~/.config/crt/config.toml. Themes at ~/.config/crt/themes/.
- Focus indicators: Visual focus rings on active elements
- Keyboard navigation: Full keyboard control for tabs, menus, search
- Calm themes: Use
minimalordraculaif effects are distracting
Known limitation: No screen reader support yet.
Fonts look wrong or missing characters
CRT bundles MesloLGS NF (a Nerd Font) at ~/.config/crt/fonts/. If you see boxes, check the font family setting in config.
Theme not loading
- Check the theme file exists at
~/.config/crt/themes/{name}.css - Check terminal output for CSS parsing errors
- Background images and sprites need
Cmd+Nto reload
Performance issues
Themes with multiple effects use more resources. Try minimal or dracula for lightweight options.
Reactive themes not working
See the Troubleshooting Guide for shell integration setup.
Enable profiling with Cmd+Option+P, reproduce the issue, then open an issue with the profile log from ~/.config/crt/.
MIT OR Apache-2.0
