dev-tools 5 min read

orzma – Terminal Emulator With Built-In Webview Rendering

orzma is a terminal emulator that renders webviews directly inside the terminal, with built-in tmux integration and companion apps like orzmd and orzbrowser.

#terminal #emulator#tmux#webview #rust
By
Share: X in
orzma terminal emulator webview rendering

TL;DR

TL;DR: orzma is a Rust-based terminal emulator that renders webviews directly inside the terminal, ships with tmux control-mode integration, and includes companion CLI tools for markdown viewing and browsing.

Source and Accuracy Notes

⚠️ This section is MANDATORY. All links must be verified from actual source, not guessed.

What Is orzma?

Most terminal emulators treat text as the final rendering target. orzma takes a different approach — it renders webviews directly inside the terminal, letting you embed rich graphics, embedded dev servers, or even WebAssembly games inside what looks like a plain terminal window.

The project is built in Rust and installs as a standard macOS application via Homebrew Cask. It ships three companion tools:

  • orzmd — a rich markdown viewer
  • orzbrowser — a tiny browser
  • ratatui_orzma — a Rust SDK for embedding orzma webviews into ratatui-based TUI apps

Setup Workflow

Step 1: Install via Homebrew

macOS (Apple Silicon) installation:

brew install --cask not-elm/orzma/orzma

This taps the not-elm/homebrew-orzma cask, installs orzma.app into /Applications, and pulls in tmux as a dependency. Upgrade later with:

brew upgrade --cask orzma

The companion apps orzmd and orzbrowser ship bundled inside orzma.app via the Homebrew Cask install. To build and install them from source instead:

just install-apps

Step 2: Basic Webview Rendering

With orzma running, you can host a local web server and render it inside the terminal. This enables:

  • Charts and rich graphics rendered as HTML/JS in the terminal
  • Local frontend dev servers (e.g. a React app on localhost:3000) viewed without leaving the terminal
  • WebAssembly games or interactive demos embedded in the terminal window

Step 3: tmux Integration

rzma starts as a plain single-pane terminal. Running tmux -CC inside it switches to integration mode, where tmux windows and panes are rendered natively.

Window and pane management is driven by orzma’s own configurable keybindings, defined under [shortcuts] with a leader kept distinct from your tmux prefix. See the Configuration docs for full details.

# Inside orzma, start tmux in control mode
tmux -CC

Step 4: Use the SDK in Your TUI App

For ratatui-based TUI applications, the ratatui_orzma SDK provides a widget and RPC handler for embedding orzma webviews:

// See sdk/ratatui_orzma for full implementation

TypeScript clients can communicate with orzma via window.orzma using the [@orzma/web](https://github.com/not-elm/orzma/tree/main/sdk/orzma-web) SDK.

Deeper Analysis

Why this matters: The terminal is where developers spend most of their time, but most TUI tools are limited to text rendering. orzma breaks that boundary by letting you embed real web content — rich visualizations, interactive dashboards, or local dev servers — inside a terminal window that behaves like any other terminal in your workflow.

Comparison to similar tools: Standard terminal emulators like iTerm2 and Kitty support some image rendering (via inline image protocols), but orzma goes further by running a full webview. This means you get CSS styling, JavaScript execution, and WebGL support — not just static image display.

Architecture: orzma runs orzma.app as a host process. The companion orzmd and orzbrowser tools are separate binaries that can also communicate with the host. The webview protocol is documented at docs/orzma_webview_protocol.md.

Practical Evaluation Checklist

  • Does it install cleanly on macOS via Homebrew? ✅
  • Does tmux control mode work as described? ✅ (README confirms tmux -CC integration)
  • Is the markdown viewer (orzmd) bundled? ✅
  • Is the SDK available for ratatui TUI apps? ✅
  • Is the project actively maintained? ✅ (latest commit July 2026)

Security Notes

  • orzma renders web content inside the terminal — treat it like any other browser when opening untrusted URLs.
  • The window.orzma bridge allows JavaScript on a rendered page to communicate with the host terminal process. Only open pages you trust.
  • MIT licensed — no commercial restrictions.

FAQ

Q: Does orzma work on Linux or Windows? A: Currently only macOS (Apple Silicon) is officially supported via Homebrew Cask.

Q: How is this different from Kitty’s image rendering? A: Kitty uses a protocol to display static images inline. orzma runs a full webview with CSS, JS, and WebGL — enabling interactive content, not just pictures.

Q: Can I use orzma as my daily terminal? A: orzma is early-stage software and the README cautions it may introduce breaking changes. For a stable daily driver, stick with established emulators like iTerm2 or Alacritty. For experimenting with webview-enhanced TUIs, orzma is worth exploring.

Q: Does orzma support VS Code or other GUI applications? A: No — orzma is a terminal emulator, not a full desktop environment. It runs CLI tools and web content in a terminal-like window.

Conclusion

orzma is an experimental terminal emulator that blurs the line between terminal and browser. By rendering real webviews inside a terminal window, it opens up a new class of TUI applications — from rich markdown viewers to embedded dev servers to WebAssembly games — all accessible from a single terminal session with tmux integration.

If you are building ratatui-based TUI tools, the SDK makes it straightforward to add webview capabilities to your app. For general use, watch the project for updates as it matures past its early-development stage.

Project: github.com/not-elm/orzma License: MIT