otter-term is Otter Shell’s built-in terminal emulator. It uses libghostty-vt for terminal emulation and Otter libraries for Wayland windowing, PTY handling, input, rendering, configuration, and clipboard. Tabs, horizontal and vertical splits, shell integration via OSC sequences, and IME support. No X11 dependency.
Launching
Pass a directory path to open there, or use-e to run a command instead of your default shell.
Features
Tabs
Multiple terminal tabs in one window. Close buttons appear per tab and hide when only one tab remains.
Split Panes
Split any tab horizontally or vertically. Each pane has its own focus, resizes independently, and closes without affecting the others.
Shell Integration
OSC 7 tracks the current working directory so new tabs and splits open in the right place. OSC 133 captures command output for the context menu.
URL Handling
http://, https://, and www. URLs are detected, underlined on hover, and opened with a configurable command (default: xdg-open).IME Support
Full
zwp_text_input_v3 support with preedit text display and candidate-window positioning at the terminal cursor.Clipboard
Copy with Ctrl+Shift+C and paste with Ctrl+Shift+V. Primary selection and a right-click context menu are also supported.
Configuration
otter-term reads ~/.config/otter-shell/otter-term.conf. The file loads on startup and hot-reloads whenever you save it. Font, colors, padding, and grid size update without restarting the terminal.
general_shell = "" uses $SHELL, falling back to /bin/sh if unset. The default general_term value xterm-256color works best for remote hosts over SSH. Only set it to xterm-ghostty when the target host has that terminfo entry installed.Color Palette
The color palette usescolors_* keys in the same config file. Defaults include a full 16-color terminal palette plus foreground, background, cursor, selection, and URL accent colors. Palette changes are hot-reloaded. Save the file and new colors apply to all open panes.
Keyboard Shortcuts
| Action | Shortcut |
|---|---|
| Copy selection | Ctrl+Shift+C |
| Paste | Ctrl+Shift+V |
| New tab | Right-click → New Tab |
| Split pane | Right-click → Split Pane |

