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: 2 months ago
JSON representation
Change terminal colors on-the-fly independent of terminal emulator.
- Host: GitHub
- URL: https://github.com/dylanaraps/paleta
- Owner: dylanaraps
- License: mit
- Archived: true
- Created: 2019-02-11T17:48:42.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-26T02:07:56.000Z (almost 2 years ago)
- Last Synced: 2024-08-02T19:37:21.882Z (5 months ago)
- Topics: color-palette, color-schemes, palettes, terminal
- Language: C
- Homepage:
- Size: 187 KB
- Stars: 185
- Watchers: 5
- Forks: 10
- Open Issues: 2
-
Metadata Files:
- Readme: README
- License: LICENSE
Awesome Lists containing this project
- awesome - dylanaraps/paleta - Change terminal colors on-the-fly independent of terminal emulator. (C)
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 compilerbuild
________________________________________________________________________________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.