/kfc

A terminal-emulator color palette setter written in POSIX C99.

Primary LanguageCMIT LicenseMIT

kfc

KISS for colors, a terminal-emulator color palette setter written in POSIX C99.


BACKGROUND
----------

This project was inspired by Dylan Arap's POSIX shell script, okpal [0], which
utilizes 16 ANSI colors to control the color scheme of existing terminal-emulator
windows. This allows one to achieve consistent colors across all terminal 
utilities and applications. This application has similar functionality to okpal 
but is designed with execution speed in mind. There are currently 300 light and 
dark color palettes offered at this time that can be applied and quickly swapped 
out for others.


COMPATIBILITY
-------------

Compatibility with the following terminator-emulators have been tested:

- simple terminal, st [1]
- alacritty [2]
- xterm [3]
- kitty [4]


DEPENDENCIES
------------

Other than a terminal-emulator and C99 compiler, this application has no other 
dependencies.


INSTALLATION
------------

Building and installing from source:

    git clone https://github.com/mcpcpc/kfc.git
    cd kfc/
    make
    make install

Installing on KISS Linux:

    kiss b kfc
    kiss i kfc


USAGE
-----

kfc [-L] [-r|-s palette] [-l|-p|-v]
-L          Set light themes (modifier for -s/-r/-l)
-r          Select a random palette (dark theme by default)
-s palette  Select a palette (dark theme by default)
-l          List palettes (dark themes by default)
-p          Print current palette
-v          Show version information


EXAMPLES
--------

For the following examples, remember to replace PALETTE with your preferred 
color schema name. 

- To see if a specific light color palette is available:

      kfc -lL | grep PALETTE

- To apply the light version of the PALETTE:

      kfc -Ls PALETTE

- To verify that the palette was applied (or see the last palette that was
  applied):

      kfc -p

- To apply a color palette automatically to a new terminal window, you can add 
  the following line to one of your system startup files (e.g ~/.profile,
  ~/.ashrc or ~/.bashrc):
  
      [ -x "$(command -v kfc)" ] && kfc -s PALETTE

Refer to the USAGE section for more information on command arguments.


NEW PALETTES
------------

Users can contribute their own custom color palettes (using the supplied template
in the docs/ folder) by creating a Pull Request.


REFERENCES
----------
[0] https://github.com/dylanaraps/okpal
[1] Note that background, foreground and cursor color setting does not work
    without applying the 'OSC 10 11 12' patch.
    https://st.suckless.org
[2] Confirmed to work in wayland (per sdsddsd1).
    #1
[3] Confirmed by periish.
    #3
[4] Confirmed by emokoi
    #4