🎨 Prints color patterns on the terminal
ShowMe is a small (but effective) command line utility written in Rust for users of *nix operating systems and followers of the Unixporn community. It is intended to help you to embellish the screenshots of your desktop environment or window manager.
Note: Currently ShowMe is in an early stage, with a high level of development and many new features to come.
So far the patterns only use the 8 basic colors (black, red, green, yellow, blue, purple, cyan and white) in order to achieve better compatibility. However, there are plans to add another type of pattern (or table) of 256 colors.
The black and white colors can be removed by adding the --no-blackwhite
flag.
Another point to note is that the resolution of the terminal is not taken into account, so some patterns may be distorted if the size of the pattern exceeds that of the terminal.
With the -h
or --help
flag we can print the following help message:
ShowMe 0.1.0
Max Ferrer <maxi.fg13@gmail.com>
Prints color patterns on the terminal
USAGE:
showme [FLAGS] --patterns <PATTERN1,PATTERN2,...>
FLAGS:
-h, --help Prints help information
--no-blackwhite Removes black and white colors from the color palette.
-V, --version Prints version information
OPTIONS:
-p, --patterns <PATTERN1,PATTERN2,...> Prints the specified patterns
Available patterns: bars, blocks1, bloks, crunch, panes
Patterns are sequences of identical objects that vary in color. ShowMe can display them using the -p
or --patterns
option, in any order and repeatedly. For example, showme -p bars,panes,bars
will display the bar pattern twice and the panel pattern once, in the order described and including the colors black and white. Run showme --patterns bars,panes,bars
or showme --patterns="bars,panes,bars"
(with or without quotes) is equivalent and produce the same output.
Note: Go to the images folder to view screenshots of each pattern.
If you want to use any of the patterns in a script in Bash you have two options:
- Implement showme (obviously recommended)
- Redirect the showme output to a file. For example, if you want to use the bars, you would do something like this:
showme -p bars > file
This will create a file with the respective pattern and escape sequences (can be read with cat
or within a script using the echo -e
command).
ShowMe requires the following tools and packages to build:
git
cargo
rustc
Clone this repository and enter it:
git clone https://github.com/PandaFoss/showme.git
cd showme
Finally, simply run:
cargo build --release
Why doesn't it show information like neofetch?
While at first that was the intention, it seemed pertinent to me to "keep it simple, stupid". For a fetching tool written in pure Rust I recommend rsfetch.
Why not do it in a simple Bash script instead of a Rust executable?
First of all, because showme
was thought as a personal project to practice Rust.
Secondly, because although for the purpose for which it was conceived, the fact that it is twice as fast (or even faster) than a Bash script is not very relevant, once a certain complexity or number of lines is reached, a Bash script becomes unfeasible, and it is necessary to resort to programming languages conceived for the purpose in question.
Any contribution to the project is welcome! See the CONTRIBUTING.md file for more details.
ShowMe is distributed primarily under the terms of the MIT license.
See LICENSE for details.