Termina

One terminal for every desktop

A terminal emulator for macOS, Windows and Linux. A real shell on a real pseudo-terminal, xterm emulation by JetBrains' JediTerm, every shell the machine has one click away, and paths in the output that open the file. Ctrl stays the shell's. No account, no telemetry.

The command palette over a shell, in the colours of the theme you pick above. Every menu command is in it, with its key.

A look at the window

The real thing: tabs that tile the width and are named after where each shell is, a dot on the one where something happened, and eza's colours and Nerd Font icons drawn on the cell grid. Nothing else is in the way.

Termina's window: a tab strip over a shell showing a coloured directory listing with file-type icons and a git log
Termina 0.10.0 with the Editora Dark theme, on Linux.

Why Termina

One terminal that looks and behaves the same on all three desktops, and that never takes a key the shell was using.

The shell keeps its keys

Ctrl+W deletes a word and Ctrl+T transposes, so Termina's own chords are Ctrl+Shift on Linux and Windows and ⌘ on a Mac. Alt works as Meta, including Option on macOS, and AltGr still composes.

Every shell it can find

Both PowerShells, Command Prompt, Git Bash and each WSL distribution on Windows; the shells in /etc/shells and on the path elsewhere. Found rather than configured and never written down, so each is a profile a new tab can open as the day it is installed.

Yours, quietly

No account, no ads, no telemetry. The one request it makes is a daily look at GitHub for a newer release, which one setting turns off. Settings are a plain file you can read and edit, and every change applies the moment you make it.

Three layers, two of them not ours

xterm compatibility is a long tail of cursor modes, character sets, scroll regions and four mouse wire formats, so the emulator is JetBrains' JediTerm, the one inside IntelliJ. The pseudo-terminal is pty4j: forkpty on macOS and Linux, ConPTY on Windows. What is Termina's is everything you see and press: a JavaFX renderer that paints once a frame however fast the output arrives, and a key encoder that leaves dead keys, AltGr and input methods working. Read the docs.

Download Termina Free and open source, for macOS, Windows and Linux.

From the blog & news

All news · All posts

What's new

The highlights of 0.10.0 and the releases just before it. See the changelog for everything.

  • Termina 0.10.0 : Out for macOS (Apple Silicon and Intel), Windows (x64) and Linux (x64 and ARM64), each installer with its own Java runtime.
  • Icons in Settings : Each page of the settings sidebar has a glyph, muted at rest and in the accent colour when its page is open.
  • Editora's command palette : Since 0.9.0: the same matcher and ranking, Emacs keys to drive it, Alt+X to open it, and the chord is a setting.
  • The menu bar in the title bar : Since 0.8.0: one row for the menus, the title and the window buttons, on Linux and Windows.
  • Tabs that remember : Since 0.8.0: rename a tab, reopen one you closed, duplicate one where it is, and see a dot when a background tab has news.
  • A paste that asks : Since 0.8.0: a paste with a line break shows what it will send first, and control characters are stripped from every paste.

In development

Working in the repository and headed for the next release, but not in 0.10.0:

  • Split panes : Another shell beside or below the one you are in, in the same directory.
  • Find in the scrollback : Every match highlighted as you type, smart case, regular expressions.
  • Shell integration : Jump between prompts, select the last command's output, and a mark beside a command that failed (OSC 133).
  • Every shortcut rebindable : A Keyboard page in Settings, and the bindings synced between computers through a Git repository of yours.
  • What programs ask for : Declared links (OSC 8), copying to the clipboard over SSH (OSC 52), and type-ahead on a slow SSH link.
  • Icons without a Nerd Font : Symbols Nerd Font Mono bundled, so eza --icons draws right on any machine.

Features

Keys that stay out of the way

Each chord is declared once, on the command, so the menus, the palette and the shortcut reference can never disagree. A few to start with:

  • Command Palette… Alt+X
  • New Tab Ctrl+Shift+T
  • Close Tab Ctrl+Shift+W
  • Reopen Closed Tab Ctrl+Shift+Z
  • Copy Ctrl+Shift+C
  • Paste Ctrl+Shift+V
  • Next Tab Ctrl+Shift+]
  • Go to Tab 1–9 (9 is the last) Alt+1…9
  • Zoom In Ctrl+=
  • Full Screen F11
  • Settings… Ctrl+,
  • Keyboard Shortcuts… Ctrl+Shift+/

All 27 commands and their keys →

Download

Native installers for macOS, Windows and Linux are attached to each release. Each bundles its own Java runtime, so there is nothing else to install.

macOS DMG, Apple Silicon and Intel
Windows MSI installer (x64)
Linux DEB / RPM, x64 and ARM64

On Linux, install with sudo apt install ./Termina-*.deb or sudo dnf install ./Termina-*.rpm. The package adds Termina to the application menu as a terminal emulator.

Installers are currently unsigned. On macOS the first launch is blocked: open System Settings → Privacy & Security and click Open Anyway. On Windows, if SmartScreen appears, choose More info → Run anyway. Each release lists SHA-256 checksums.

Build & run from source

Requires JDK 25. A Maven wrapper is bundled, so no local Maven install is needed.

terminal
# Clone
git clone https://github.com/adriandeleon/Termina.git
cd Termina

# Run the app
./mvnw javafx:run

# Tests, the formatter check and the coverage floors
./mvnw verify

# A self-contained app image in target/dist (clean is required)
./mvnw clean -Pdist -DskipTests package

Built in the open with the help of AI coding tools. Every change lands as a reviewed, tested commit on GitHub.