Documentation

Installation

Prerequisites

  • macOS or Linux
  • Node.js 24+ (for development)
  • npm 10+ (for development)

Download Pre-built Binaries

The easiest way to get started is to download the latest release from GitHub Releases.

Available for:

  • macOS (Apple Silicon)
  • macOS (Intel)
  • Linux (AppImage)

Build from Source

If you prefer to build from source:

# Clone the repository
git clone https://github.com/markwylde/termide.git
cd termide

# Install dependencies
npm ci

# Start development mode
npm run dev

# Build for production
npm run build

Getting Started

Opening Terminal Sessions

  1. Launch Termide
  2. Click the + button or press Cmd+N (macOS) / Ctrl+N (Linux) to open a new terminal
  3. Start typing commands in your native shell

Splitting Terminals

  • Right-click on any tab to split it horizontally or vertically
  • Drag the divider to resize panels
  • Each panel runs an independent shell session

Managing Tabs

  • Rename: Double-click a tab name or right-click → Rename
  • Change Color: Right-click → Set Color
  • Add Emoji: Right-click → Set Emoji
  • Reorder: Drag and drop tabs to reorder them
  • Pop Out: Drag a tab outside the window to create a new window

Features

Dockable Layout

Termide uses dockview to provide a flexible, dockable tabbed interface. Split your workspace any way you want:

  • Horizontal splits
  • Vertical splits
  • Tab groups
  • Floating windows

Native Shell Sessions

Powered by node-pty, Termide provides real native shell sessions that support:

  • Full ANSI color support
  • Complex terminal applications (vim, tmux, htop, etc.)
  • Proper signal handling
  • Native shell features (command history, tab completion, etc.)

Modern Terminal Experience

Built with xterm.js for a feature-rich terminal:

  • Unicode support
  • WebGL rendering
  • Customizable themes
  • Link detection
  • Mouse support

Keyboard Shortcuts

Shortcut Action
Cmd/Ctrl + N New terminal
Cmd/Ctrl + W Close current terminal
Cmd/Ctrl + Shift + T Reopen closed terminal
Cmd/Ctrl + [1-9] Switch to tab [1-9]
Cmd/Ctrl + Shift + [ Previous tab
Cmd/Ctrl + Shift + ] Next tab
Cmd/Ctrl + + Zoom in
Cmd/Ctrl + - Zoom out
Cmd/Ctrl + 0 Reset zoom

Configuration

Termide stores configuration in the following locations:

  • macOS: ~/Library/Application Support/Termide/
  • Linux: ~/.config/Termide/

Settings File

Create a config.json file in the configuration directory:

{
  "theme": "dark",
  "fontSize": 14,
  "fontFamily": "JetBrains Mono",
  "shell": "/bin/zsh",
  "cursorStyle": "block",
  "scrollback": 10000
}

Development

Project Structure

├── electron/       # Electron main and preload processes
├── src/            # React renderer application
├── public/         # Static assets
└── docs/           # Documentation site

Development Scripts

# Start development server
npm run dev

# Run linter
npm run lint

# Run smoke tests
npm run smoke

# Build application
npm run build

# Build for specific platform
npm run build:mac
npm run build:linux

Tech Stack

  • Electron: Desktop app framework
  • React: UI library
  • Vite: Build tool
  • TypeScript: Type safety
  • xterm.js: Terminal emulator
  • node-pty: Pseudo-terminal bindings
  • dockview: Dockable layout system