Experimental macOS terminal. Swift 6 + C. TERM=xterm-256color.
This is not production software. The goal is to test new ideas in relation to Ghostty. Ghostty has been a clear reference for implementation. Not affiliated with Ghostty. Differences and why Jetty is a bit faster / about 2× cheaper on CPU+GPU: docs/vs-ghostty.md.
Not the Eclipse Jetty Java server.
- macOS 14+
- Swift 6 / Xcode CLT
swift test --disable-sandbox
swift build -c release --disable-sandbox
swift run -c release --disable-sandbox
App bundle (ad-hoc sign):
./scripts/build-app.sh
open dist/Jetty.app
Notarize (Developer ID + notarytool keychain profile):
JETTY_SIGN_IDENTITY=... JETTY_NOTARY_PROFILE=... ./scripts/notarize.sh
~/.config/jetty/config. Ghostty keys that work include theme, background,
foreground, cursor-color, palette = N=, window-padding-x / y,
window-width / height, macos-option-as-alt, cursor-style,
cursor-style-blink, command, working-directory, env,
clipboard-paste-protection, confirm-close-surface. Keys and internals:
docs/DESIGN.md,
docs/DESIGN-follow-on.md,
docs/DESIGN-kitty-graphics.md,
docs/DESIGN-osc-5522.md.
AppleScript is on unless macos-applescript = false. Command names match
Ghostty for windows and terminals. new window takes command, working
directory, env, font size, and initial input. Close uses
confirm-close-surface. No tabs or splits.
MIT. See LICENSE.md and THIRD_PARTY_LICENSES.md.