A shell program to show pokemon sprites in the terminal.
Key features include:
✔️ animated sprites | ✔️ multiple pokemon | ✔️ terminal fit | ✔️ tab completions |
---|
- bash | - curl | - jq | - imagemagick | - timg/chafa |
---|
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
pokeshell --help
or if running from this directory:
./bin/pokeshell --help
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:
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: PokeAPI
- Specifically: PokeAPI/pokeapi and PokeAPI/sprites
Animated sprites: ProjectPokemon
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
- aflaaq/pokemon-icat Show Pokemon sprites in Kitty
- eramdam/pokemonshow Show Pokemon sprites using JavaScript
- rmccorm4/Pokefetch Fetch Pokedex entries in your terminal
- HRKings/pokemonsay-newgenerations Cowsay for Pokemon
- 31marcobarbosa/pokeTerm Display random Pokemon sprite upon opening a terminal