Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/dylanaraps/paleta

Change terminal colors on-the-fly independent of terminal emulator.
https://github.com/dylanaraps/paleta

color-palette color-schemes palettes terminal

Last synced: 3 months ago
JSON representation

Change terminal colors on-the-fly independent of terminal emulator.

Lists

README

        

paleta
________________________________________________________________________________

Change terminal colors on-the-fly independent of terminal emulator.

Most terminal emulators support a set of escape sequences which allow for the
modification of the terminal's color palette. Combined with the ability to write
to all open terminal devices, this allows for theming in a truly independent way.

Paleta reads a list of colors over , transforms the input into the set of
escape sequences and sends these sequences to every open terminal in the system.
It additionally prints the sequences to .

+------------------------------------------------------------------------------+
| |
| $ paleta < palettes/jellybeans-dark > ~/.cache/current-palette |
| |
+------------------------------------------------------------------------------+

This tool is small and generic. It reads input and writes output. Effortless to
incorporate with the system. This repository also contains 150~ popular palettes
ready for use with paleta.

terminal support
________________________________________________________________________________

+------------------------------------------------------------------------------+
| |
| this list is not complete |
| |
| |
| alacritty good https://github.com/alacritty/alacritty/issues/656 |
| kitty good |
| vte [0] good 1a651cf990e67c4046fbff7674249259bcaa89a8 |
| xterm good |
| urxvt good |
| |
| st patch ./misc/st-osc_10_11_12-20200418-66520e1.patch |
| |
| hyper clueless https://github.com/vercel/hyper/issues/2038 |
| |
| |
+------------------------------------------------------------------------------+

[0] vte includes Termite, XFCE terminal, GNOME terminal, Konsole and many more.

dependencies
________________________________________________________________________________

- POSIX
- C99 compiler

build
________________________________________________________________________________

See src/config.h for configuration.

+------------------------------------------------------------------------------+
| |
| Using make (recommended) |
| |
| $ make |
| $ make install |
| |
| |
| Invoking the compiler directly |
| |
| $ c99 $CFLAGS -o paleta src/paleta.c |
| |
| |
+------------------------------------------------------------------------------+

usage
________________________________________________________________________________

+------------------------------------------------------------------------------+
| |
| 1. Set the colorscheme to jellybeans-dark in all open terminals. |
| |
| $ paleta < palettes/jellybeans-dark > ~/.cache/current-palette |
| |
+------------------------------------------------------------------------------+

Saving paleta's to a file is how the current palette is stored. This
file is used to set the palette in newly opened terminals. Scripts might instead
store this in a variable or ignore it entirely as they maintain state.

setup
________________________________________________________________________________

This line must be added to $SHELL's startup file. It tells future terminals to
load the current palette at launch.

+------------------------------------------------------------------------------+
| |
| $ echo 'cat ~/.cache/current-palette' >> ~/.bashrc |
| |
+------------------------------------------------------------------------------+

input format
________________________________________________________________________________

Input is one hex color per line, without #. The first three lines are
reserved for , and with the remaining lines
filling the numerical palette (0-256).

Example: https://github.com/dylanaraps/paleta/blob/master/palettes/gruvbox-dark

+------------------------------------------------------------------------------+
| format | example |
+-------------------------------------+----------------------------------------+
| | |
| | dedede |
| | 121212 |
| | dedede |
| | 929292 |
| | e27373 |
| | 94b979 |
| | |
| ... | ,,, |
| | |
| | 1ab2a8 |
| | |
| | |
+-------------------------------------+----------------------------------------+

The maximum palette is (3 + 256). This is configurable at compile-time.

software written around paleta
________________________________________________________________________________

- shuffle through palettes in a directory. https://github.com/dylanaraps/bin/blob/c06b2c0df0194487fc4cb9c65b451b6369e2c398/shuffle

todo
________________________________________________________________________________

- [ ] Find good 256 color palettes to include. All are currently 16 colors.
256 color palettes added to this repository should contain -256 in their
filenames.