Top Related Projects
A cross-platform, OpenGL terminal emulator.
The new Windows Terminal and the original Windows console host, all in the same place!
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
Cross-platform, fast, feature-rich, GPU based terminal
A terminal built on web technologies
A tiling terminal emulator for Linux using GTK+ 3
Quick Overview
Tabby is a highly customizable, open-source terminal emulator for Windows, macOS, and Linux. It offers a modern, feature-rich interface with support for multiple tabs, split panes, and various customization options. Tabby aims to provide a powerful and user-friendly terminal experience for developers and power users.
Pros
- Cross-platform compatibility (Windows, macOS, Linux)
- Highly customizable with themes, plugins, and configuration options
- Supports multiple tabs and split panes for efficient multitasking
- Active development and community support
Cons
- May have a steeper learning curve for users accustomed to simpler terminal emulators
- Some advanced features might require additional configuration
- Larger file size compared to more basic terminal emulators
- Occasional performance issues reported by some users on older hardware
Getting Started
To get started with Tabby:
- Visit the Tabby releases page on GitHub.
- Download the appropriate installer for your operating system.
- Install Tabby following the instructions for your platform.
- Launch Tabby and start using it as your terminal emulator.
For customization:
- Open the settings panel (usually with Ctrl+,)
- Explore the various tabs to customize appearance, keybindings, and plugins
- Install additional plugins from the built-in plugin manager
To create a new tab or split pane:
- Use Ctrl+T for a new tab
- Use Ctrl+Shift+E for a vertical split
- Use Ctrl+Shift+O for a horizontal split
Tabby offers extensive documentation and a helpful community for further assistance and advanced configuration.
Competitor Comparisons
A cross-platform, OpenGL terminal emulator.
Pros of Alacritty
- Faster performance due to GPU acceleration
- Minimal resource usage and lightweight design
- Cross-platform compatibility (Windows, macOS, Linux)
Cons of Alacritty
- Limited built-in features compared to Tabby's rich functionality
- Steeper learning curve for configuration and customization
- Lacks built-in tab management and split panes
Code Comparison
Alacritty configuration (YAML):
window:
dimensions:
columns: 80
lines: 24
padding:
x: 2
y: 2
Tabby configuration (JSON):
{
"terminal": {
"fontSize": 14,
"fontFamily": "Menlo, Monaco, 'Courier New', monospace",
"shell": "bash"
}
}
Alacritty focuses on performance and minimalism, making it ideal for users who prioritize speed and efficiency. It requires more manual configuration but offers excellent customization options for advanced users.
Tabby provides a more feature-rich experience out of the box, including built-in tab management, split panes, and a user-friendly interface. It's better suited for users who prefer a more traditional terminal emulator with modern features and easier customization.
Both projects are actively maintained and have strong community support, making them excellent choices depending on individual needs and preferences.
The new Windows Terminal and the original Windows console host, all in the same place!
Pros of Terminal
- Native Windows integration with deep OS-level support
- Extensive customization options for power users
- Robust multi-tab and pane management
Cons of Terminal
- Limited cross-platform compatibility (Windows-centric)
- Steeper learning curve for advanced features
- Less modern UI aesthetics compared to Tabby
Code Comparison
Terminal (PowerShell configuration):
{
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "Windows PowerShell",
"commandline": "powershell.exe",
"hidden": false
}
Tabby (Shell profile configuration):
shell: bash
args:
- --login
env:
TERM: xterm-256color
Both projects offer powerful terminal emulation with multi-tab support, but they cater to different user bases. Terminal excels in Windows environments with deep system integration, while Tabby provides a more modern, cross-platform experience. Terminal's configuration tends to be more verbose and Windows-specific, whereas Tabby uses a simpler YAML format for its profiles. Ultimately, the choice between the two depends on the user's primary operating system and desired features.
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
Pros of WezTerm
- Written in Rust, offering better performance and memory safety
- More extensive terminal emulation features, including ligature support
- Highly customizable with Lua configuration
Cons of WezTerm
- Steeper learning curve due to Lua configuration
- Less user-friendly interface compared to Tabby's modern GUI
- Smaller community and fewer extensions/plugins
Code Comparison
WezTerm configuration (Lua):
return {
font = wezterm.font("JetBrains Mono"),
color_scheme = "Dracula",
default_prog = {"pwsh.exe"},
}
Tabby configuration (JSON):
{
"terminal": {
"font": "JetBrains Mono",
"colorScheme": "Dracula",
"shell": "pwsh.exe"
}
}
Summary
WezTerm and Tabby are both modern terminal emulators with cross-platform support. WezTerm offers superior performance and advanced terminal features, making it ideal for power users comfortable with Lua scripting. Tabby, on the other hand, provides a more user-friendly experience with its Electron-based GUI and simpler configuration, making it more accessible to casual users. The choice between the two depends on the user's preferences for performance versus ease of use and customization requirements.
Cross-platform, fast, feature-rich, GPU based terminal
Pros of Kitty
- Faster performance due to GPU acceleration
- More customizable and configurable
- Supports ligatures and advanced font features
Cons of Kitty
- Steeper learning curve for configuration
- Limited cross-platform support (primarily Linux and macOS)
- Less user-friendly interface for beginners
Code Comparison
Kitty configuration example:
font_family Fira Code
font_size 12.0
cursor_shape beam
background_opacity 0.9
Tabby configuration example:
terminal:
font: Fira Code
fontSize: 12
cursor: beam
opacity: 0.9
Both Kitty and Tabby are popular terminal emulators, but they cater to different user needs. Kitty focuses on performance and customization, making it ideal for power users and developers who prefer fine-grained control. Tabby, on the other hand, offers a more user-friendly experience with cross-platform support, making it suitable for a wider range of users.
Kitty's GPU acceleration and extensive configuration options allow for a highly optimized terminal experience, while Tabby's intuitive interface and plugin system provide flexibility and ease of use. The choice between the two depends on individual preferences and requirements.
A terminal built on web technologies
Pros of Hyper
- Built with web technologies (HTML, CSS, JavaScript), making it highly customizable and extensible
- Large ecosystem of plugins and themes available
- Lightweight and fast startup time
Cons of Hyper
- Performance can be slower compared to native terminal emulators
- Limited built-in features, requiring plugins for advanced functionality
- May consume more system resources due to Electron framework
Code Comparison
Tabby (TypeScript):
export class TerminalTab extends BaseTabComponent {
static platform = Platform.Web
session: SessionProviderInfo
protected config: ConfigService
protected hostApp: HostAppService
protected sessions: SessionsService
}
Hyper (JavaScript):
class Term extends React.PureComponent {
constructor(props) {
super(props);
this.term = null;
this.termRef = null;
this.termWrapperRef = null;
this.termRect = null;
this.onTermWrapperRef = this.onTermWrapperRef.bind(this);
}
}
Both projects use modern JavaScript/TypeScript for their core functionality, but Tabby's code appears more structured with TypeScript's type system, while Hyper relies on React components for its UI.
A tiling terminal emulator for Linux using GTK+ 3
Pros of Tilix
- Native GTK3 application, providing better integration with GNOME and other GTK-based desktop environments
- Supports advanced features like session saving and custom layouts
- Lightweight and fast, with minimal resource usage
Cons of Tilix
- Limited to Linux systems, not cross-platform
- Less customizable user interface compared to Tabby
- Fewer built-in features for remote connections and SSH management
Code Comparison
Tilix (VTE configuration):
var terminal = new Terminal();
terminal.set_size_request(300, 300);
terminal.spawn_sync(Vte.PtyFlags.DEFAULT, null, {Vte.get_user_shell()}, null, SpawnFlags.SEARCH_PATH, null, null, null);
Tabby (Terminal configuration):
const terminal = new Terminal({
fontFamily: 'monospace',
fontSize: 14,
theme: config.terminal.theme,
})
terminal.open(container)
Both projects offer terminal emulation, but Tilix uses the VTE (Virtual Terminal Emulator) library native to GNOME, while Tabby uses a custom implementation based on xterm.js. Tilix's code is in Vala, while Tabby uses TypeScript, reflecting their different technology stacks and target platforms.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
ð Managing remote environments? Check out Warpgate, my smart SSH/HTTP/MySQL bastion server, it works great with Tabby, you'll love it.
Downloads:
This README is also available in: :es: Spanish · :ru: Ð ÑÑÑкий · :kr: íêµì´ · :cn: ç®ä½ä¸æ · :it: Italiano · :de: Deutsch · :jp: æ¥æ¬èª · :id: Bahasa Indonesia · :brazil: Português · :poland: Polski
Tabby (formerly Terminus) is a highly configurable terminal emulator, SSH and serial client for Windows 10, macOS and Linux
- Integrated SSH and Telnet client and connection manager
- Integrated serial terminal
- Theming and color schemes
- Fully configurable shortcuts and multi-chord shortcuts
- Split panes
- Remembers your tabs
- PowerShell (and PS Core), WSL, Git-Bash, Cygwin, MSYS2, Cmder and CMD support
- Direct file transfer from/to SSH sessions via Zmodem
- Full Unicode support including double-width characters
- Doesn't choke on fast-flowing outputs
- Proper shell experience on Windows including tab completion (via Clink)
- Integrated encrypted container for SSH secrets and configuration
- SSH, SFTP and Telnet client available as a web app (also self-hosted).
Contents
- What Tabby is and isn't
- Terminal features
- SSH Client
- Serial Terminal
- Portable
- Plugins
- Themes
- Contributing
What Tabby is and isn't
-
Tabby is an alternative to Windows' standard terminal (conhost), PowerShell ISE, PuTTY, macOS Terminal.app and iTerm
-
Tabby is not a new shell or a MinGW or Cygwin replacement. Neither is it lightweight - if RAM usage is of importance, consider Conemu or Alacritty
Terminal features
- A V220 terminal + various extensions
- Multiple nested split panes
- Tabs on any side of the window
- Optional dockable window with a global spawn hotkey ("Quake console")
- Progress detection
- Notification on process completion
- Bracketed paste, multiline paste warnings
- Font ligatures
- Custom shell profiles
- Optional RMB paste and copy-on select (PuTTY style)
SSH Client
- SSH2 client with a connection manager
- X11 and port forwarding
- Automatic jump host management
- Agent forwarding (incl. Pageant and Windows native OpenSSH Agent)
- Login scripts
Serial Terminal
- Saved connections
- Readline input support
- Optional hex byte-by-byte input and hexdump output
- Newline conversion
- Automatic reconnection
Portable
Tabby will run as a portable app on Windows, if you create a data
folder in the same location where Tabby.exe
lives.
Plugins
Plugins and themes can be installed directly from the Settings view inside Tabby.
- docker - connect to Docker containers
- title-control - allows modifying the title of the terminal tabs by providing a prefix, suffix, and/or strings to be removed
- quick-cmds - quickly send commands to one or all terminal tabs
- save-output - record terminal output into a file
- sync-config - sync the config to Gist or Gitee
- clippy - an example plugin which annoys you all the time
- workspace-manager - allows creating custom workspace profiles based on the given config
- search-in-browser - opens default system browser with a text selected from the Tabby's tab
- sftp-tab - open sftp tab for ssh connection like SecureCRT
- background - change Tabby background image and more...
- highlight - Tabby terminal keyword highlight plugin
- web-auth-handler - In-app web authentication popups (Built primarily for warpgate in-browser auth)
Themes
- hype - a Hyper inspired theme
- relaxed - the Relaxed theme for Tabby
- gruvbox
- windows10
- altair
- catppuccin - Soothing pastel theme for Tabby
- noctis - color themes inspired by Noctis VS Code theme
Sponsors
packagecloud has provided free Debian/RPM repository hosting
keygen has provided free release & auto-update hosting
IQ Hive is providing financial support for the project development
Contributing
Pull requests and plugins are welcome!
See HACKING.md and API docs for information of how the project is laid out, and a very brief plugin development tutorial.
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind are welcome!
Top Related Projects
A cross-platform, OpenGL terminal emulator.
The new Windows Terminal and the original Windows console host, all in the same place!
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
Cross-platform, fast, feature-rich, GPU based terminal
A terminal built on web technologies
A tiling terminal emulator for Linux using GTK+ 3
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot