A minimalistic, highly configurable terminal emulator with workspace support.
- Minimalistic Design - Clean, distraction-free interface
- Highly Configurable - Customize colors, fonts, keybindings, and behavior
- Workspace Support (v2.0.0+) - Multiple independent terminal environments
- Multi-tab Management - Organize terminals with tabs
- D-Bus Integration - Scriptable interface for automation
- Color Themes - Per-workspace color customization
- GTK3-based - Native Linux desktop integration
Required:
- GTK+ 3.0 or higher
- VTE 2.91 (Virtual Terminal Emulator)
- GIO 2.0
- Boost libraries (≥1.50):
- boost-iostreams
- boost-thread
- boost-program-options
- boost-system
- gdbus-codegen
Build tools:
- autoconf (≥2.69)
- automake
- libtool
- pkg-config
- g++ (C++11 compatible)
- make
Ubuntu 22.04 LTS:
sudo apt install autogen autoconf libtool pkg-config \
libvte-2.91-dev libgtk-3-dev libboost-all-dev \
g++ makeUbuntu 20.04:
sudo apt install qtchooser autogen autoconf libtool pkg-config \
libvte-2.91-dev libgtk-3-dev libboost-all-dev \
g++ makeUbuntu 18.04:
sudo apt install qdbus autogen autoconf libtool pkg-config \
libvte-2.91-dev libgtk-3-dev libboost-all-dev \
g++ make# Clone the repository (if not already done)
git clone https://github.com/smrt28/hispixel.git
cd hispixel
# Generate configure script
autoreconf -if
# Create build directory
mkdir -p build
cd build
# Configure and build
../configure
make
# Optional: Install system-wide
sudo make install
# Or run from build directory
./src/hispixelEnable debug mode:
../configure --enable-debug
make# Copy desktop entry
cp scripts/hispixel.desktop ~/.local/share/applications/hispixel.desktop
# Edit the file to set correct paths
# Update 'Exec=' and 'Icon=' fields as neededSee share/README for detailed desktop integration steps.
Generate default configuration:
hispixel -D > ~/.config/hispixelThe configuration file will be automatically loaded from:
~/.config/hispixel
# Font settings
term_font = "Terminus"
label_font = "Terminus"
term_font_size = "12"
allow_bold = "true"
# Colors
color_bg = "#000000"
color_fg = "#e5e5e5"
gama = "0" # Gamma adjustment (-100 to 100)
transparency = "1.0" # 0.0 - 1.0
# Behavior
scrollback_lines = "50000"
audible_bell = "false"
command = "/bin/bash"window_width = "400"
window_height = "300"
show_tabbar = "true"
tabbar_bg_color = "#303030"
tabbar_on_bottom = "false"startup_tabs = "1"
auto_open_tabs = "true"
# Workspace colors (6 colors for tab differentiation)
z_color_0 = ""
z_color_1 = "ff44ff aaaaff 44ffff ffff44 ff4444 44ff44"
z_gama = "-50"
z_names = "Q W E R T Y"
z_name_color = "ffffff"For complete configuration reference, see CONFIGURATION.md.
| Shortcut | Action |
|---|---|
Alt+1 through Alt+9 |
Switch to tab 1-9 |
Alt+Ctrl+Z |
Open new tab |
Ctrl+D |
Close current tab |
| Shortcut | Action |
|---|---|
Ctrl+Alt+1 through Ctrl+Alt+9 |
Swap current tab with position 1-9 |
Ctrl+Alt+T |
Toggle tabbar visibility |
| Shortcut | Action |
|---|---|
Alt+Q |
Switch to workspace 1 (Q) |
Alt+W |
Switch to workspace 2 (W) |
Alt+E |
Switch to workspace 3 (E) |
Alt+R |
Switch to workspace 4 (R) |
Alt+T |
Switch to workspace 5 (T) |
Alt+Y |
Switch to workspace 6 (Y) |
All shortcuts are fully customizable in the config file.
Workspaces provide independent terminal environments, similar to virtual desktops:
- Each workspace has its own set of tabs
- Each workspace can have unique color schemes
- Quickly switch between workspaces with keyboard shortcuts
- Ideal for organizing different projects or contexts
Example workspace configuration:
# Define workspace names
z_names = "DEV TEST PROD DOC ADMIN MISC"
# Custom colors for each workspace's tabs
z_color_1 = "ff44ff aaaaff 44ffff ffff44 ff4444 44ff44"
z_gama = "-50"
# Bind keys to workspaces
bindsym alt+q focus_z 1 # DEV
bindsym alt+w focus_z 2 # TEST
bindsym alt+e focus_z 3 # PROD
bindsym alt+r focus_z 4 # DOC
bindsym alt+t focus_z 5 # ADMIN
bindsym alt+y focus_z 6 # MISCHisPixel provides a D-Bus interface for programmatic control and automation.
Install D-Bus tools (if not already installed):
# Ubuntu/Debian
sudo apt install gdbusSource the helper script:
source scripts/env.shDump the content of a specific terminal:
his-dump <workspace> <tab-number>Examples:
# Dump 3rd terminal on workspace Q
his-dump q 3
# Dump 1st terminal on workspace W
his-dump w 1For complete D-Bus API documentation, see DBUS_API.md.
Ubuntu 22.04 LTS:
term_font = "Ubuntu Mono"
gama = "40"
auto_open_tabs = "true"Terminus Font:
sudo apt install xfonts-terminus- X11 bitmap font (may not work everywhere)sudo apt install fonts-terminus- TrueType version (recommended)
List Available Fonts:
python3 scripts/list-fonts.pyhispixel [OPTIONS]
Options:
-D, --dump-config Dump default configuration to stdout
-d, --daemon Run as daemon (background process)
-h, --help Show help message
--version Show version informationIssue: Tabs not auto-opening
# Add to config
auto_open_tabs = "true"
startup_tabs = "1"Issue: Font not rendering correctly
- Ensure font is installed system-wide
- Try TrueType versions (fonts-terminus instead of xfonts-terminus)
- Use
list-fonts.pyto verify available fonts
Issue: D-Bus commands not working
# Ensure D-Bus tools are installed
sudo apt install gdbus
# Source environment
source scripts/env.shContributions are welcome! Please see CONTRIBUTING.md for:
- Development setup
- Code structure and architecture
- Coding standards
- Submitting pull requests
hispixel/
├── src/ # Source code
│ ├── main.cc # Application entry point
│ ├── hispixelapp.* # Main application class
│ ├── config.* # Configuration parser
│ ├── tabs.* # Tab/workspace management
│ ├── dbus*.* # D-Bus interface
│ └── gtest/ # Embedded Google Test framework
├── scripts/ # Helper scripts and desktop files
├── share/ # Desktop integration resources
├── configure.ac # Autoconf configuration
└── README.md # This file
- Counter overflow in terminal ID generation (tabs.h:18) - unlikely in practice
- Memory leak in D-Bus signal handlers (dbushelper.h:47) - bounded, registration happens once
See the issue tracker for more details and to report bugs.
This project is licensed under the GPL License. See the LICENSE file for details.
Ondřej Holeček ondrej.holecek@gmail.com
HisPixel - Terminal emulator for power users who value simplicity and customization.

