Convert Figma logo to code with AI

Eugeny logotabby

A terminal for a more modern age

58,186
3,349
58,186
2,008

Top Related Projects

56,041

A cross-platform, OpenGL terminal emulator.

95,296

The new Windows Terminal and the original Windows console host, all in the same place!

17,239

A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust

24,184

Cross-platform, fast, feature-rich, GPU based terminal

43,276

A terminal built on web technologies

5,382

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:

  1. Visit the Tabby releases page on GitHub.
  2. Download the appropriate installer for your operating system.
  3. Install Tabby following the instructions for your platform.
  4. 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

56,041

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.

95,296

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.

17,239

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.

24,184

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.

43,276

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.

5,382

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 Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

GitHub All Releases     Matrix   Translate   Twitter


👋 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

  • 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

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):

Russell Myers
Russell Myers

💻
Austin Warren
Austin Warren

💻
Felicia Hummel
Felicia Hummel

💻
Mike MacCana
Mike MacCana

⚠️ 🎨
Yacine Kanzari
Yacine Kanzari

💻
BBJip
BBJip

💻
Futagirl
Futagirl

🎨
Levin Rickert
Levin Rickert

💻
OJ Kwon
OJ Kwon

💻
domain
domain

🔌 💻
James Brumond
James Brumond

🔌
Daniel Imms
Daniel Imms

💻 🔌 ⚠️
Florian Bachmann
Florian Bachmann

💻
Michael Kühnel
Michael Kühnel

💻 🎨
Tilmann Meyer
Tilmann Meyer

💻
PM Extra
PM Extra

🐛
Jonathan
Jonathan

💻
Hans Koch
Hans Koch

💻
Dak Smyth
Dak Smyth

💻
Wang Zhi
Wang Zhi

💻
jack1142
jack1142

💻
Howie Douglas
Howie Douglas

💻
Chris Kaczor
Chris Kaczor

💻
Johannes Kadak
Johannes Kadak

💻
LeSeulArtichaut
LeSeulArtichaut

💻
Cyril Taylor
Cyril Taylor

💻
nstefanou
nstefanou

💻 🔌
orin220444
orin220444

💻
Gobius Dolhain
Gobius Dolhain

💻
Gwilherm Folliot
Gwilherm Folliot

💻
Dmitry Pronin
Dmitry Pronin

💻
Jonathan Beverley
Jonathan Beverley

💻
Zenghai Liang
Zenghai Liang

💻
Mateusz Tracz
Mateusz Tracz

💻
pinpin
pinpin

💻
Takuro Onoda
Takuro Onoda

💻
frauhottelmann
frauhottelmann

💻
Piotr Patalong
Piotr Patalong

🎨
Clark Wang
Clark Wang

💻
iamchating
iamchating

💻
starxg
starxg

🔌
Alisue
Alisue

🎨
Dominic Yin
Dominic Yin

💻
Brandon Rothweiler
Brandon Rothweiler

🎨
Logic Machine
Logic Machine

📖
cypherbits
cypherbits

📖
Matthew Davidson
Matthew Davidson

💻
Alexander Wiedemann
Alexander Wiedemann

💻
장보연
장보연

📖
zZ
zZ

💻
Aaron Davison
Aaron Davison

💻
Przemyslaw Kozik
Przemyslaw Kozik

🎨
Alfredo Arellano de la Fuente
Alfredo Arellano de la Fuente

💻
MH Kim
MH Kim

💻
Marmota
Marmota

🎨
Ares Andrew
Ares Andrew

📖
George Korsnick
George Korsnick

💵
Artem Smirnov
Artem Smirnov

💵
Tim Kopplow
Tim Kopplow

💵
mrthock
mrthock

💵
Lukas Rottach
Lukas Rottach

💵
boonkerz
boonkerz

💻 🌍
Milo Ivir
Milo Ivir

🌍
JasonCubic
JasonCubic

🎨
MaxWaldorf
MaxWaldorf

🚇
Michael Wizner
Michael Wizner

💻
Martin
Martin

💻
Piersandro Guerrera
Piersandro Guerrera

📖 🌍
0x973
0x973

💻
Allenator
Allenator

📖
Matheus Castello
Matheus Castello

💻
Jai A P
Jai A P

📦
Richard Yu
Richard Yu

💻
artu-ole
artu-ole

💻
Timofey Gribanov
Timofey Gribanov

📖 🌍
Christian Bingman
Christian Bingman

💻
zhipeng
zhipeng

💻
woodmeal
woodmeal

💻
MagicLike
MagicLike

📖
Hisam Fahri
Hisam Fahri

💻
Liangcheng Juves
Liangcheng Juves

💻
Atte Timonen
Atte Timonen

💻
João Pinto
João Pinto

📖
Alan
Alan

💻
Atsushi Morimoto
Atsushi Morimoto

💵
Arles
Arles

💵
six2dez
six2dez

💵
Candice
Candice

💵
Rowen Willabus
Rowen Willabus

💵
HengY1Coding✨
HengY1Coding✨

💵
Francis Gelderloos
Francis Gelderloos

💵
astromasoud
astromasoud

💵
Anders G. Jørgensen
Anders G. Jørgensen

💵
Dave Richardson
Dave Richardson

💵
Thomas Peter Berntsen
Thomas Peter Berntsen

💵
Ikko Ashimine
Ikko Ashimine

📖
giejqf
giejqf

💻
Thomas LACAZE
Thomas LACAZE

💻
Po Chen
Po Chen

💵
Victor Chandra
Victor Chandra

📖
Dan Nissenbaum
Dan Nissenbaum

💵
RogueThorn
RogueThorn

💵
Spenser Black
Spenser Black

💻
Alex
Alex

💵
HengY1Coding✨
HengY1Coding✨

💵
David Carrero
David Carrero

📖
Andrii Zhovtiak
Andrii Zhovtiak

💻
Mason Ma
Mason Ma

💵
Timo
Timo

💵
Evin Watson
Evin Watson

📖
Hendra Juli
Hendra Juli

📖
Wellinton Kricowski
Wellinton Kricowski

💵 📖
Allan
Allan

🎨
Benjamin Brandmeier
Benjamin Brandmeier

💻
patric1025
patric1025

🌍
hermitpopcorn
hermitpopcorn

💻
Joshua Tzucker
Joshua Tzucker

💵
luxifr
luxifr

💵
Anne Summers
Anne Summers

💵
Clem
Clem

💻
Elizabeth Martín Campos
Elizabeth Martín Campos

💻
Tomáš Hruška
Tomáš Hruška

💻
Osman Karaketir
Osman Karaketir

💻
Crypto Gnome
Crypto Gnome

💵
Richard Bukovansky
Richard Bukovansky

💵
catlas
catlas

💵
Thomas Kapocsi
Thomas Kapocsi

📖
Dylan Hackworth
Dylan Hackworth

💵
Sangboak Lee
Sangboak Lee

💻
qyecst
qyecst

💻
Han
Han

💻
wljince007
wljince007

💻
fero
fero

💻
Sibren
Sibren

💻
Nathaniel Walser
Nathaniel Walser

💻
Aaron Huggins
Aaron Huggins

🎨
KDex
KDex

💻
ChangHwan Kim
ChangHwan Kim

💻
Ash Neilson
Ash Neilson

💻
Chen Fansong
Chen Fansong

💻
Mxmilu
Mxmilu

💻
Charles Buffington
Charles Buffington

💻
Yu Qin
Yu Qin

💻
fireblue
fireblue

💻
marko1616
marko1616

💻

This project follows the all-contributors specification. Contributions of any kind are welcome!