Skip to content
/ xhibit Public

Customizable terminal system info tool combining ASCII art, themes, and image previews

License

Notifications You must be signed in to change notification settings

glowfi/xhibit

Repository files navigation

🎨 XHIBIT

Exhibit your ASCII art and system specs directly in the terminal

Python Linux Terminal License


✨ Overview

XHIBIT is a customizable terminal showcase tool that displays:

  • πŸ–Ό ASCII characters
  • 🎨 Colorschemes
  • πŸ’» System specifications
  • πŸ–Ό Optional image previews

Designed for terminal enthusiasts who want a visually expressive system display.


🐧 Compatibility

Works on any Linux-based distribution.


πŸš€ Installation

1️⃣ Add local bin to PATH (Required)

POSIX shells (bash / zsh / dash)

echo 'export PATH=$HOME/.local/bin:$PATH' >> ~/.bashrc

Change .bashrc to your shell’s rc file if needed.

Fish shell

echo 'set PATH ~/.local/bin $PATH' >> ~/.config/fish/config.fish

Restart your shell afterwards.


2️⃣ Install Package

pip install xhibit

πŸ“¦ Dependencies

ASCII Mode

  • Python β‰₯ 3.5

Image Display

  • kitty terminal or ueberzug
  • xorg-xdpyinfo
  • xdotool
  • xorg-xprop
  • xorg-xwininfo

🧠 Usage

xhibit [options]

Core Options

Option Description
-v Show version
-cs Choose colorscheme
-rcs Random colorscheme
-ccs Custom colors (8 hex values)
-cn Choose ASCII character
-rcn Random character
-cpu Custom CPU name
-gpu Custom GPU name
-img Display image
-imb Image backend (kitty / ueberzug)
-crop Image crop mode (fit / fill)

🎭 ASCII Characters

Available characters:

  • monalisa
  • egyptian
  • casper
  • fairy
  • dragon

🎨 Colorschemes

  • 212 built-in colorschemes

List all:

xhibit -lcs all

Full list: https://raw.githubusercontent.com/glowfi/xhibit-colorschemes/main/colorscheme.txt


πŸ§ͺ Examples

Gruvbox + Casper

xhibit -cs gruvbox -cn casper

example


Dracula + Fairy

xhibit -cs dracula -cn fairy

example


Random Everything

xhibit -rcs t -rcn t

example


Custom Colorscheme

xhibit -ccs "#BF616A,#A3BE8C,#EBCB8B,#81A1C1,#B48EAD,#88C0D0,#E5E9F0,#B48EAD"

example


πŸ–Ό Image Display

Supports image previews using:

  • kitty graphics protocol
  • ueberzug

Install ueberzug

git clone https://github.com/ueber-devel/ueberzug
cd ueberzug
pip install .
cd ..
rm -rf ueberzug

Display Image

xhibit -img "path/to/image" -imb kitty

or

xhibit -img "path/to/image" -imb ueberzug

Crop Modes

xhibit -crop fit
xhibit -crop fill


🀝 Contributing

Contributions and improvements are welcome.

Small focused PRs preferred.


πŸ“„ License

GPL-3.0