Skip to content
This repository has been archived by the owner on May 18, 2024. It is now read-only.
/ Babble Public archive

Babble is a pretty visual noise generator TUI application.

License

Notifications You must be signed in to change notification settings

qexat/Babble

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Babble

Babble is a pretty visual noise generator TUI application.

Screenshot of the interface of Babble.

What is its purpose?

To be fair, none. It's more like a fun project and a proof of concept of combining coquille and outspin.

Usage

After starting Babble, you should see two text elements: at the top is the header of the application, and at the bottom the status bar with the keys and what they do when pressed.
A huge empty space is left in the center: this is where the window that you will fill up sits.

  • Press Enter to fill 1'000 random pixels.

Note

The number of pixels filled can be configured by setting the --pixels-per-step argument.

  • Space is similar to Enter, but does it multiple times until the whole window is crowded.

Important

You can interrupt the process by pressing Ctrl + C. The pixels already filled keep their state.

  • Pressing r will shuffle the pixels around. It does not fill any new one.
  • Pressing s does the opposite of r: it sorts the pixels in a certain way.

Note

The sorting algorithm will be configurable in the future.

  • Press e to clean the window.
  • i enters the immersive mode, which simply hides the header and the status bar. Pressing it again exits that mode.
  • Press shift+f5 if you need to force refreshing the interface, for example if your terminal size has changed.
  • Finally, you can press q to quit Babble. Alternatively, you can also use esc.

How to run it?

Once you have installed Babble locally, simply type babble in the terminal and press Enter.

Installation

  1. First, clone the repository and move to the directory:

    git clone git@github.com:qexat/babble
    cd babble
  2. (Optional, but highly recommended) Create a virtual environment and activate it:

    python -m venv .venv
    source .venv/bin/activate

Warning

If your shell is not bash, the activation script might have a slightly different name.

  1. Install Babble:

    # the dot means "the project of the current directory"
    pip install .
  2. You are set up! You can now run Babble:

    babble

Once you are in Babble, press q or esc to quit the program.

All the commands above at once:

git clone git@github.com:qexat/babble; cd babble
python -m venv .venv; source .venv/bin/activate
pip install .
babble

Configuration

Some of Babble's behavior can be configured.

  • --randomize-at-launch: (default: False) pretends that you pressed Space at startup.
  • --immersive: (default: False) activates the immersive mode by default.
  • --pixels-per-step: (default: 1000) changes the number of pixels generated at each step (e.g. when pressing Enter)
  • --theme: (default babble) sets the context theme to be one of the built-in ones.

Themes

Here is a list of the built-in themes.

To set a theme, specify the --theme argument in the command line, for example:

babble --theme plasma

Babble (default)

A nice 2D gradient from red to blue through magenta.

Screenshot of the interface of Babble with the default theme.

Plasma

Every pixel is of completely random color.

Screenshot of the interface of Babble with the Plasma theme.

Radioactive

babble, but in a different orientation and with some green noise overlay.

Screenshot of the interface of Babble with the Radioactive theme.

Monochrome

A simple left-to-right black-to-white gradient.

Screenshot of the interface of Babble with the Monochrome theme.


I hope you like it ❤️

Encountered a problem? Want to request a feature? Open an issue!
A question? Find me on X/Twitter!

About

Babble is a pretty visual noise generator TUI application.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages