Terminal
Full-featured terminal with native shell integration, tmux, WebGL rendering, Nerd Font support, and SSH project shells.
Omnilib's Terminal provides a full-featured command-line interface with native shell integration. Run commands, execute scripts, and interact with your system — with a WebGL renderer, tmux integration, and support for multiple independent instances.
Overview
The Terminal offers:
- Native shell — zsh, bash, or PowerShell
- WebGL renderer — Smooth, GPU-accelerated output via xterm.js
- Multiple instances — Open several terminals and move them between panels
- tmux integration — Persistent sessions and split panes via tmux
- SSH projects — Remote shells open automatically for SSH projects
- Nerd Font support — Shell prompt icons and glyphs
- Theme support — Matches your Omnilib theme
- Search — Find text in terminal output
- Persistence — Terminals survive tab switching
Getting Started
Opening a Terminal
- Click the terminal icon in the sidebar, or
- Press
Cmd+` (Windows: Ctrl+`)
A new terminal opens in the current panel.
Running Commands
Type any command and press Enter:
$ ls -la
$ npm install
$ python script.py
$ git status
Multiple Terminal Instances
Open multiple terminals and arrange them freely:
- Click + in the terminal panel to open a new instance.
- Each instance is independent — separate shell processes, separate histories.
- Drag a terminal tab to move it to a different panel or split.
Terminals persist across file tab switches. Switch to a code file and come back — the shell state, history, and output are all still there.
WebGL Renderer
The terminal renders output using xterm.js with the WebGL renderer. This uses GPU acceleration for smooth scrolling, fast rendering of large output, and correct glyph rendering for Nerd Fonts and special Unicode characters.
tmux Integration
tmux provides persistent terminal sessions that survive terminal panel closes and Omnilib restarts.
Setting up tmux
Click tmux in the terminal toolbar to open the tmux setup dialog. The dialog lets you:
- Attach to an existing tmux session by name
- Create a new named session
- Choose a default tmux session for this project
Once set up, new terminals attach to the configured tmux session automatically.
tmux key bindings
tmux's standard key bindings work normally inside the terminal. The default prefix is Ctrl+B. Use tmux commands to create windows, split panes, and detach sessions as you normally would.
Tip: If you use tmux, set
set -g mouse onin your~/.tmux.confto enable mouse support for pane switching and scrolling.
SSH Project Shells
When you open a terminal inside a Remote SSH project, the terminal automatically connects to the remote server:
ssh -t user@host
No additional configuration is needed. The shell runs on the remote machine, letting you run builds, manage files, and use git — all on the server.
Shell Support
Default Shell
Omnilib uses your system's default shell:
- macOS — Usually zsh
- Windows — PowerShell
Custom Shell
Set a specific shell in Settings > Terminal > Default Shell. Enter the full path (e.g., /bin/bash). New terminals use this shell.
Navigation
Working Directory
Terminals open in your project root. Use cd to navigate.
Search
- Press
Cmd+F (Windows: Ctrl+F). - Type your search term.
- Matches are highlighted in the output.
Navigate with Enter (next) and Shift+Enter (previous). Close search with Escape.
Nerd Font Support
The terminal renders Nerd Font glyphs correctly with the WebGL renderer. Install a Nerd Font for full shell prompt icon support:
- MesloLGS NF
- Hack Nerd Font
- JetBrains Mono NF
Set the terminal font in Settings > Terminal > Font Family to your installed Nerd Font.
Theming
The terminal adapts to your Omnilib theme automatically:
- Light — Light background, dark text, soft colors
- Dark — Dark background, light text, GitHub Dark-inspired colors
- Omni — Warm sepia background, high contrast text
Settings
Configure in Settings > Terminal:
| Setting | Description |
|---|---|
| Default Shell | Shell program path |
| Font Size | Terminal text size |
| Font Family | Font for terminal text (set a Nerd Font here) |
| Cursor Style | Block, underline, or bar |
| Cursor Blink | Animate the cursor |
| Scrollback | Lines to keep in history |
Keyboard Shortcuts
| Action | Shortcut |
|---|---|
| Open terminal | Cmd/Ctrl+` |
| Search | Cmd/Ctrl+F |
| Clear screen | Cmd+K (Mac) / type clear |
| Cancel command | Ctrl+C |
| End input | Ctrl+D |
Standard shell shortcuts also work: Ctrl+A (beginning of line), Ctrl+E (end of line), Ctrl+R (reverse search history).
Troubleshooting
Terminal Shows "Desktop Only"
The terminal requires the Omnilib desktop app. Web version cannot access the system shell.
Command Not Found
- Check the command spelling.
- Ensure the program is installed.
- Check your
PATHenvironment variable.
Shell Not Starting
- Verify the shell path in Settings is correct.
- Ensure the shell is installed on your system.
- Reset to the default shell.
Font Icons Missing
- Install a Nerd Font.
- Set the terminal font in Settings > Terminal > Font Family.
- Restart Omnilib.