Top Related Projects
A cross-platform, OpenGL terminal emulator.
The new Windows Terminal and the original Windows console host, all in the same place!
Cross-platform, fast, feature-rich, GPU based terminal
iTerm2 is a terminal emulator for Mac OS X that does amazing things.
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
Quick Overview
Hyper is a modern, extensible terminal emulator built on web technologies. It's cross-platform, highly customizable, and designed to be both beautiful and functional out of the box. Hyper aims to provide a seamless terminal experience with a focus on performance and extensibility.
Pros
- Cross-platform compatibility (Windows, macOS, Linux)
- Highly customizable through plugins and themes
- Built on web technologies, making it easy for web developers to extend
- Active community and regular updates
Cons
- Can be resource-intensive compared to native terminal emulators
- Some users report occasional performance issues, especially with many plugins
- Limited built-in features compared to some traditional terminal emulators
- Steeper learning curve for users not familiar with web technologies
Getting Started
- Download and install Hyper from the official website: https://hyper.is
- Launch Hyper
- To customize, edit the
~/.hyper.js
configuration file:
# Open the configuration file
hyper open
- Install plugins using the CLI:
# Install a plugin
hyper install hyper-snazzy
# List installed plugins
hyper list
- Restart Hyper to apply changes
For more detailed instructions and documentation, visit the official Hyper website and GitHub repository.
Competitor Comparisons
A cross-platform, OpenGL terminal emulator.
Pros of Alacritty
- Faster performance due to GPU acceleration
- Lower resource usage and memory footprint
- Cross-platform support (Windows, macOS, Linux)
Cons of Alacritty
- Less customizable and extensible compared to Hyper
- Steeper learning curve for configuration (YAML-based)
- Fewer built-in features and plugins
Code Comparison
Alacritty configuration (YAML):
window:
dimensions:
columns: 80
lines: 24
padding:
x: 2
y: 2
Hyper configuration (JavaScript):
module.exports = {
config: {
fontSize: 12,
fontFamily: 'Menlo, "DejaVu Sans Mono", Consolas, "Lucida Console", monospace',
padding: '12px 14px'
}
};
Alacritty focuses on performance and minimalism, using a YAML configuration file for settings. Hyper, built with web technologies, offers more customization options and a JavaScript-based configuration. Alacritty excels in speed and resource efficiency, while Hyper provides a more user-friendly and extensible environment with a larger ecosystem of plugins and themes.
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
- More robust and feature-rich, suitable for power users
- Supports multiple shells and customizable profiles
Cons of Terminal
- Limited cross-platform compatibility (primarily Windows-focused)
- Steeper learning curve for configuration and customization
- Larger resource footprint compared to lightweight alternatives
Code Comparison
Terminal (PowerShell configuration):
{
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "Windows PowerShell",
"commandline": "powershell.exe",
"hidden": false
}
Hyper (JavaScript configuration):
module.exports = {
config: {
shell: 'powershell.exe',
shellArgs: [],
env: {}
}
};
Summary
Terminal offers a more powerful and integrated experience for Windows users, with extensive customization options and support for multiple shells. However, it's primarily focused on Windows and may be overkill for users seeking a lightweight, cross-platform solution.
Hyper, on the other hand, provides a more accessible and cross-platform terminal experience, built on web technologies. It's easier to customize and extend but may lack some of the advanced features and native integration that Terminal offers.
The choice between the two depends on the user's needs, preferred platform, and desired level of customization and integration with the operating system.
Cross-platform, fast, feature-rich, GPU based terminal
Pros of Kitty
- Faster performance and lower resource usage due to GPU-accelerated rendering
- More extensive terminal features and customization options
- Better support for complex layouts and window management
Cons of Kitty
- Steeper learning curve and more complex configuration
- Less cross-platform compatibility (primarily focused on Unix-like systems)
- Lacks the extensibility and plugin ecosystem of Hyper
Code Comparison
Kitty configuration (kitty.conf):
font_family Fira Code
font_size 12.0
background_opacity 0.9
window_padding_width 10
Hyper configuration (.hyper.js):
module.exports = {
config: {
fontSize: 12,
fontFamily: 'Fira Code',
opacity: 0.9,
padding: '10px'
}
};
Both terminals allow for easy customization of appearance and behavior, but Kitty uses a more traditional configuration file format, while Hyper uses JavaScript for configuration, reflecting their different design philosophies and target audiences.
iTerm2 is a terminal emulator for Mac OS X that does amazing things.
Pros of iTerm2
- More mature and feature-rich terminal emulator with advanced functionality
- Native macOS application, offering better system integration and performance
- Extensive customization options, including split panes and profiles
Cons of iTerm2
- Limited to macOS, not cross-platform like Hyper
- Less modern and customizable UI compared to Hyper's web technologies
- Steeper learning curve for advanced features
Code Comparison
iTerm2 (Objective-C):
- (void)setSessionTitle:(NSString *)title
{
[_delegate sessionDidSetTitle:title];
_name = [title copy];
}
Hyper (JavaScript):
setTitle(title) {
this.title = title;
this.emit('title', title);
}
iTerm2 is a powerful, native macOS terminal emulator with extensive features and customization options. It offers better performance and system integration but is limited to macOS. Hyper, on the other hand, is a cross-platform, modern terminal built with web technologies, providing a sleek UI and easier customization through plugins and themes. However, it may lack some advanced features found in iTerm2. The code comparison shows the difference in implementation languages and approaches between the two projects.
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 ligatures and image support
- Cross-platform with native GPU acceleration
Cons of WezTerm
- Steeper learning curve due to more advanced features
- Configuration in Lua may be less familiar to some users
Code Comparison
WezTerm configuration (Lua):
return {
font = wezterm.font("JetBrains Mono"),
color_scheme = "Dracula",
enable_tab_bar = false,
}
Hyper configuration (JavaScript):
module.exports = {
config: {
fontSize: 14,
fontFamily: 'Menlo, "DejaVu Sans Mono", Consolas, "Lucida Console", monospace',
theme: 'hyper-dracula'
}
};
Summary
WezTerm and Hyper are both modern terminal emulators with cross-platform support. WezTerm, written in Rust, offers superior performance and more advanced features, but may have a steeper learning curve. Hyper, built on web technologies, is more customizable and has a larger ecosystem of plugins, but may have lower performance. WezTerm uses Lua for configuration, while Hyper uses JavaScript, which may influence user preference based on familiarity with these languages.
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
For more details, head to: https://hyper.is
Project goals
The goal of the project is to create a beautiful and extensible experience for command-line interface users, built on open web standards. In the beginning, our focus will be primarily around speed, stability and the development of the correct API for extension authors.
In the future, we anticipate the community will come up with innovative additions to enhance what could be the simplest, most powerful and well-tested interface for productivity.
Usage
Linux
Arch and derivatives
Hyper is available in the AUR. Use an AUR package manager e.g. paru
paru -S hyper
NixOS
Hyper is available as Nix package, to install the app run this command:
nix-env -i hyper
macOS
Use Homebrew Cask to download the app by running these commands:
brew update
brew install --cask hyper
Windows
Use chocolatey to install the app by running the following command (package information can be found here):
choco install hyper
Note: The version available on Homebrew Cask, Chocolatey, Snapcraft or the AUR may not be the latest. Please consider downloading it from here if that's the case.
Contribute
Regardless of the platform you are working on, you will need to have Yarn installed. If you have never installed Yarn before, you can find out how at: https://yarnpkg.com/en/docs/install.
- Install necessary packages:
- Windows
- Be sure to run
yarn global add windows-build-tools
from an elevated prompt (as an administrator) to installwindows-build-tools
.
- Be sure to run
- macOS
- Once you have installed Yarn, you can skip this section!
- Linux (You can see here what your Linux is based on.)
- RPM-based
GraphicsMagick
libicns-utils
xz
(Installed by default on some distributions.)
- Debian-based
graphicsmagick
icnsutils
xz-utils
- RPM-based
- Fork this repository to your own GitHub account and then clone it to your local device
- Install the dependencies:
yarn
- Build the code and watch for changes:
yarn run dev
- To run
hyper
yarn run app
from another terminal tab/window/pane- If you are using Visual Studio Code, select
Launch Hyper
in debugger configuration to launch a new Hyper instance with debugger attached. - If you interrupt
yarn run dev
, you'll need to relaunch it each time you want to test something. Webpack will watch changes and will rebuild renderer code when needed (and only what have changed). You'll just have to relaunch electron by using yarn run app or VSCode launch task.
To make sure that your code works in the finished application, you can generate the binaries like this:
yarn run dist
After that, you will see the binary in the ./dist
folder!
Known issues that can happen during development
Error building node-pty
If after building during development you get an alert dialog related to node-pty
issues,
make sure its build process is working correctly by running yarn run rebuild-node-pty
.
If you are on macOS, this typically is related to Xcode issues (like not having agreed
to the Terms of Service by running sudo xcodebuild
after a fresh Xcode installation).
Error with C++
on macOS when running yarn
If you are getting compiler errors when running yarn
add the environment variable export CXX=clang++
Error with codesign
on macOS when running yarn run dist
If you have issues in the codesign
step when running yarn run dist
on macOS, you can temporarily disable code signing locally by setting
export CSC_IDENTITY_AUTO_DISCOVERY=false
for the current terminal session.
Related Repositories
Top Related Projects
A cross-platform, OpenGL terminal emulator.
The new Windows Terminal and the original Windows console host, all in the same place!
Cross-platform, fast, feature-rich, GPU based terminal
iTerm2 is a terminal emulator for Mac OS X that does amazing things.
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
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