Skip to content

A powerful yet user-friendly cross-platform terminal emulator.

License

Notifications You must be signed in to change notification settings

ismail-yilmaz/Bobcat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bobcat-icon

Fast Make Status Linux Build Status MacOS Build Status Windows Build Status License

Bobcat - Terminal Emulator

Bobcat is a modern, feature-rich terminal emulator that works across all major operating systems. It's built using the U++ framework and TerminalCtrl widget to create a powerful yet user-friendly command-line experience.

Table of Contents

  1. Features
  2. Requirements
  3. Installation
  4. ToDo
  5. Screenshots
  6. Videos
  7. Acknowledgements
  8. License

Features

For complete VT feature details, see TerminalCtrl's features list and technical specs document.

Core Features

  • Cross-Platform Compatibility: Runs seamlessly on Linux, Windows, MacOS, and BSD, supporting multiple terminal backends with high VT (DEC/ANSI) and xterm compatibility.
  • Inline Image Support: Displays images directly in the terminal with both Sixel and modern formats (PNG, JPG, BMP, TIFF), supporting multiple protocols such as iTerm2 and Jexer.
  • Advanced Clipboard & Hyperlinks: Clickable links, OSC-based clipboard integration, and extended (rich-)text annotations for a modern workflow.
  • Smart Shell Integration: Tracks working directories and allows opening them in the system's default file manager via shortcuts or menus.
  • Versatile Text Selection: Selector mode with keyboard-driven selection, customizable regex-based patterns, and support for rectangular, word, and line selections.
  • Full Mouse & Keyboard Support: Works across all major protocols, with customizable key bindings for a tailored experience.

Powerful Tools

  • Finder Search Engine: A robust text search tool with case-sensitive/insensitive modes, regex search, and CSV extraction via Harvester Mode, preserving structured data integrity.
  • Linkifier: Instantly turns text into clickable hyperlinks using custom regex patterns, adaptable per terminal profile.
  • QuickText: Maintain a list of frequently used commands and snippets for fast insertion with a keyboard shortcut.

Customization & Interface

  • Multiple Profiles: Configure different terminal settings and color schemes for various tasks.
  • Minimal vs. Full UI: Choose between a lightweight or fully-featured interface with a stacked terminal manager for easy navigation.
  • Simple Configuration: JSON-based configuration with real-time updates, or use a GUI settings panel—no manual file editing required.

Windows-Specific Features

  • Multiple Pty Backends: Supports both ConPty and WinPty, with runtime switching for maximum flexibility.
  • Standalone Compatibility: Works without external dependencies like msys2 or cygwin, but remains compatible with them.

Experimental Features

  • Web Terminal Access: Run the terminal in a modern web browser via HTML5 Canvas, enabling remote access.
  • Headless Mode: Operates on minimal setups via an SDL2-GL backend, eliminating GUI dependencies.

And yes—it can run Doom! 🎮

Requirements

Bobcat has minimal requirements. You'll need:

Installation

You can install Bobcat in several ways:

1. Via UppHub (Recommended)

  • Available through UppHub, U++'s package manager
  • Requires TheIDE (U++'s development environment)
    • Windows: Included in U++ installer
    • Linux: Available via Flathub or manual build

2. Using Make (Linux)

  • Uses pre-compiled umk (U++ make) for faster builds:

    1. make download
    2. make build or make build-web or make build-headless
    3. make run

3. Manual Setup

  • Clone or download the repository and set up as a U++ assembly/nest. See the U++ documentation for details.

4. AUR package (ArchLinux):

  • There is an AUR package for Bobcat. Use your favorite AUR installer, to download, compile and install it. E.g:
# yay -S bobcat-terminal-git

5. Binary installation (Windows)

  • Release page always contains an up-to-date link to the compiled Windows binaries of Bobcat. Download the archive file, unpack it and enjoy!
  • Macro infrastructure, based on Upp::Esc scripting language.
  • A "lite" plugin framework.

Below you can find a handful of screenshots of Bobcat, running on Linux & Windows.

Bobcat on Linux

bobcat-linux

Bobcat on Windows

bobcat-windows

Bobcat, running zellij, with a background image of well..., a bobcat!

bobcat-zellij

Bobcat, running yazi, in borderless mode on Linux.

bobcat-yazi

Bobcat, running yazi with image preview feature on Windows bobcat-yazi2

Bobcat, running Neovim on Windows bobcat-nvim

Multiple terminal profile support (linux, btop)

bobcat-profiles

Inline images support (linux, jexer)

bobcat-sixel

Navigator (linux)

bobcat-navigator

Finder, in regex-based search mode (linux) bobcat-finder

Harvester, harvesting 124660 URLs from the buffer, and mapping them into a csv file (linux) bobcat-finder-harvester

Settings windows (linux)

bobcat-settings

Far manager running on Bobcat (Windows 10)

bobcat-far-manager

Bobcat deployed as a simple web server with access from web browsers (Linux)

bobcat-webgui1

Bobcat deployed as a simple web server with access from web browsers (Windows)

bobcat-webgui2

Bobcat running "headless" on SDL2 (GL) backend (Linux)

bobcat-headless

Doom, running on Bobcat, via mochadoom (Linux)

bobcat-mochadoom

A very short demonstration of Bobcat, running DOOM!

A very short demonstration of finder/harvester and unicode character (emoji) input.

To be written...

Copyright (c) 2023-2025, İsmail Yılmaz

Bobcat is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Bobcat is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. You should have received a copy of the GNU General Public License along with Bobcat. If not, see gnu licenses