Skip to content
/ pokeshell Public

A featureful shell program to show pokemon sprites in the terminal.

License

Notifications You must be signed in to change notification settings

acxz/pokeshell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pokeshell

A shell program to show pokemon sprites in the terminal.

pokeshell4

Key features include:

✔️ animated sprites ✔️ multiple pokemon ✔️ terminal fit ✔️ tab completions

Dependencies

- bash - curl - jq - imagemagick - timg/chafa

Installation

You can install/uninstall pokeshell using just.

By default the install directory is /usr/local/, which will allow you to run pokeshell anywhere on your system as well as add shell completions.

You can also specify the install directory, but you'll have to make sure that directory is on your $PATH if you want to run pokeshell from anywhere.

# install
just install [<install_dir>]

# uninstall
just uninstall [<install_dir>]

If you don't have just or don't want to use it, you can directly use the install.sh and uninstall.sh scripts.

# install
./install.sh [install_dir]

# uninstall
./uninstall.sh [install_dir]

Remember to prepend the install/uninstall command with sudo if you need to.

If you do not want to install then you can still run pokeshell anywhere by adding the following lines to your ~/.bashrc.

export PATH=/path/to/pokeshell:$PATH

Usage

pokeshell --help

or if running from this directory:

./bin/pokeshell --help

Examples

pokeshell1 pokeshell2 pokeshell3

Integration

hyfetch

hyfetch is an active fork of neofetch. Most importantly, it has fixes for properly displaying ascii. The updated neofetch can be run with the neowofetch command and uses your existing neofetch config.

To use pokeshell with hyfetch add the following to your neofetch config file: ~/.config/neofetch/config:

image_backend="ascii"
image_source=$(POKESHELL_COMMAND)

where POKESHELL_COMMAND is what you would run in the terminal.

For example, including the below in your neofetch config file

image_backend="ascii"
image_source=$(pokeshell politoed)

and running neowofetch gives the following:

hyfetch-integration

Sources

A great amount of gratitude goes to the following projects, without which pokeshell would not be possible. Please star/support these sources!

Small sprites: msikma/pokesprite

Big sprites and localization: PokeAPI

Animated sprites: ProjectPokemon

Similar Projects

pokeshell is not the first player in the pokemon shell art niche and nor will it be the last. (I just hope that the next project can take these ideas and only expand on them.) Below is a feature list of some projects ( acxz/pokescript, phoneybadger/pokemon-colorscripts, talwat/pokeget-rs) that also fill this role and what makes pokeshell unique among them.

Feature pokeshell pokescript colorscripts pokeget-rs
random ✔️ ✔️ ✔️ ✔️
small ✔️ ✔️ ✔️ ✔️
big ✔️
animated ✔️
terminal fit ✔️
genders ✔️ ✔️
multiple pokemon ✔️ ✔️ ✔️
tab completion ✔️ ✔️
no internet ✔️ ✔️ ✔️
block size # ANSI half half half
# dependencies - 5 1 1 0
cached speed + 1x (76.9 ms) 11x (7.1 ms) 2x (37.5 ms) 37x (2.1 ms)
first run speed + 1x (241.2 ms) 34x (7.1 ms) 6x (37.5 ms) 115x (2.1 ms)

#: in order of resolution: ANSI > half

-: pokeshell/pokescript uses bash, colorscripts uses python, pokeget-rs uses rust

+: Normalized to pokeshell, tested with hyperfine, larger is faster

Other Similar Projects

Other Pokémon Sprite Terminal Projects