git404hub

what is shitty fr?

pg83/shitty — explained in plain English

Analysis updated 2026-07-25

35PythonAudience · developerComplexity · 4/5LicenseSetup · hard

tl;dr

Shitty is a lightweight terminal emulator that renders text using Vulkan graphics. It is a fast, small rewrite of Zutty with features like colors, mouse support, hyperlinks, and emoji.

vibe map

mindmap
  root((repo))
    What it does
      Terminal emulator
      Renders via Vulkan
      Fast and small
    Features
      Colors and mouse
      Clickable hyperlinks
      Scrollback history
      Emoji support
    Tech stack
      C++23
      Python
      Vulkan
      Perl
    Use cases
      Daily terminal work
      Custom font setup
      Running shell programs
    License
      GPL transitioning to MIT
      Dual licensed for now

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Use as a fast, lightweight daily terminal for running command-line programs.

VIBE 2

Customize your terminal with different fonts, window sizes, and scrollback lengths.

VIBE 3

Run a specific program inside the terminal with custom security settings.

VIBE 4

Test terminal features like mouse protocols, hyperlinks, and text reflow.

what's the stack?

C++23PythonVulkanPerlncurses

how it stacks up fr

pg83/shittyalex-nlp/denoiserlanvarnarz/killspam-bot
Stars353535
LanguagePythonPythonPython
Setup difficultyhardhardmoderate
Complexity4/55/53/5
Audiencedeveloperresearcherops devops

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · hard time til it works · 1h+

Requires a C++23 compiler, Vulkan-compatible graphics driver, and multiple supporting libraries for fonts, compression, and window display.

Currently under GPLv3 with a plan to transition to the more permissive MIT license, new contributions are accepted under both during the switch.

in plain english

Shitty is a terminal emulator, which means it is the program that draws the text window where you type commands on a computer. It is a rewrite of an earlier project called Zutty, created by Tom Szilagyi. Despite the name, the project aims to be small, quick to start, and predictable in how it uses computer resources. The program keeps track of what should appear on screen in the processor, then draws only the parts that changed using a graphics technology called Vulkan. It supports a wide range of terminal features, including color options, mouse protocols, clickable hyperlinks, scrollback history, and text reflow when you resize the window. It also handles complex text like emoji and combined characters. To build it, you need a C++23 compiler and several supporting tools. The build process relies on a Python script, a graphics shader tool, and various libraries for fonts, compression, and window display. At runtime, you need a working graphics driver and a window system. The repository notes that building the full test suite also requires Perl and ncurses. Running the terminal is straightforward. You start it with a simple command, and it opens your default shell. You can pass options to change the starting window size, pick a different font, set the scrollback length, or run a specific program inside it. By default, it restricts certain abilities like reading your clipboard, but you can enable those for applications you trust. The project is currently changing its license. It started under a GPLv3 license inherited from Zutty, but the goal is to eventually become an MIT-only project. New contributions are accepted under both licenses during this transition. The project notes some features are missing, such as right-to-left text layout and inline graphics.

prompts (copy fr)

prompt 1
How do I build Shitty from source on Linux, and what C++23 compiler and libraries do I need installed first?
prompt 2
What command-line options does Shitty support for changing the font, window size, and scrollback length?
prompt 3
How does Shitty use Vulkan to render only the parts of the screen that changed, and why does that make it fast?
prompt 4
What security features does Shitty restrict by default, like clipboard access, and how do I enable them for trusted applications?

Frequently asked questions

what is shitty fr?

Shitty is a lightweight terminal emulator that renders text using Vulkan graphics. It is a fast, small rewrite of Zutty with features like colors, mouse support, hyperlinks, and emoji.

What language is shitty written in?

Mainly Python. The stack also includes C++23, Python, Vulkan.

What license does shitty use?

Currently under GPLv3 with a plan to transition to the more permissive MIT license, new contributions are accepted under both during the switch.

How hard is shitty to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is shitty for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.