iTerm2 Color Schemes

repository·master·Indexed 12 days ago

https://github.com/mbadolato/iterm2-color-schemes

A collection of color schemes for iTerm2 and various other terminal emulators and editors, including Alacritty, Kitty, VS Code, Windows Terminal, and Ghostty. The project provides tools to generate, test, and convert color themes across multiple formats, including WCAG contrast checking and YAML-based theme generation.

Tokens
4.6K
Snippets
18
Records
31
Agent score
97%

What's inside iTerm2 Color Schemes

  1. View Light Theme Screenshots

    master

    The following light-themed color schemes are available for iTerm2. You can use these screenshots to preview the visual appearance of each theme before installation:

    • Pierre Light
    • Poimandres White
    • Porcelain
    • Primary
    • Pro Light
    • Pyrokai Light
    • Raycast Light
    • Rose Pine Dawn
    • Sandstone Classic
    • Sandstone Ink
    • Sandstone Warm
    • Sauber
    • SeedFlip Amethyst
    • SeedFlip Carbon
    • SeedFlip Coral
    • SeedFlip Glacier
    • SeedFlip Ivory
    • Selenized Light
    • Seoulbones Light
    • Sequoia Monochrome Light
    • Sequoia Moonlight Light
    • Sequoia Retro Light
    • Serendipity Morning
    • Shokunin
    • Spring
    • Squintless
    • Sumi Linen
    • Tango Adapted
    • Tango Half Adapted
    • Terminal Basic
    • Tinacious Design Light
    • Token Light
    • TokyoNight Day
    • Tomorrow
    • Unikitty
    • Vimbones
    • Violet Light
    • Xcode Light hc
    • Xcode Light
    • Y2K Chrome
    • Zenbones Light
    • Zenbones
    • Zenwritten Light
  2. Install color schemes for Ptyxis

    master
    1. Copy the desired theme file(s) from the ptyxis/ directory to ~/.local/share/org.gnome.Ptyxis/palettes.
    2. Restart Ptyxis.
    3. Access the theme via:
      • Preferences > Appearance > Palette (you may need to select 'Show All Palettes').
      • Preferences > Profiles > <profile_name> > Color > Palette.
  3. Add a new iTerm theme

    master

    To contribute a new theme, follow these steps:

    1. Prepare the Theme File

    • If you have an .itermcolors file:
      1. Export it from iTerm2 (CMD+i > Colors > Color Presets > Export).
      2. Move it to the schemes/ directory. Use the human-readable name for the filename (e.g., schemes/My Awesome Theme.itermcolors).
    • If you have a theme in another format:
      1. Convert it to the YAML format used by this project (see yaml/README.md).
      2. You can use tools/kitty_to_yaml.py or tools/ghostty_to_yaml.py to assist with conversion.
      3. Place the YAML file in the yaml/ directory as Your Theme Name.yml.

    2. Test the Theme

    • Generate formats: Run python3 tools/gen.py -s "Your Theme Name" to generate all supported formats.
    • Check contrast: Run python3 tools/wcag_check.py -s "Your Theme Name" to check WCAG compliance. Note that gen.py may automatically adjust colors to meet a minimum threshold of 1.75:1.
    • Generate screenshots: Run pushd tools && python3 -m screenshot_gen && popd to generate preview images.

    3. Finalize

    • Update README.md with your theme and screenshot.
    • Update CREDITS.md to include your name.
    # Generate formats for a specific theme
    python3 tools/gen.py -s "Your Theme Name"
    
    # Check WCAG contrast
    python3 tools/wcag_check.py -s "Your Theme Name"
    
    # Generate screenshots
    pushd tools && python3 -m screenshot_gen && popd
  4. Install color schemes for Terminator

    master

    To install themes for Terminator:

    1. Locate the configuration snippets in the terminator/ directory of this repository.
    2. Edit your Terminator configuration file at $HOME/.config/terminator/config.
    3. Paste the configuration snippet into the [profiles] section.

    Example of adding a [[Symfonic]] profile:

    [profiles]
      [[Symfonic]]
      palette = "#000000:#dc322f:#56db3a:#ff8400:#0084d4:#b729d9:#ccccff:#ffffff:#1b1d21:#dc322f:#56db3a:#ff8400:#0084d4:#b729d9:#ccccff:#ffffff"
      background_color = "#000000"
      cursor_color = "#dc322f"
      foreground_color = "#ffffff"
      background_image = None
    [profiles]
      [[Symfonic]]
      palette = "#000000:#dc322f:#56db3a:#ff8400:#0084d4:#b729d9:#ccccff:#ffffff:#1b1d21:#dc322f:#56db3a:#ff8400:#0084d4:#b729d9:#ccccff:#ffffff"
      background_color = "#000000"
      cursor_color = "#dc322f"
      foreground_color = "#ffffff"
      background_image = None
  5. Add a new theme template

    master

    To support a new terminal or editor, you must create a template that uses specific placeholders.

    1. Create the Template

    1. Obtain a configuration file from your target terminal/editor.
    2. Replace the actual color values with the following placeholders:

    Color Placeholders:

    • {{ Background_Color }}, {{ Bold_Color }}, {{ Cursor_Color }}, {{ Cursor_Text_Color }}, {{ Foreground_Color }}, {{ Selected_Text_Color }}, {{ Selection_Color }}
    • ANSI Colors: {{ Ansi_0_Color }} (black) through {{ Ansi_15_Color }} (bright white).

    Value Types: Each color placeholder supports:

    • .hex: Hex representation (e.g., #FFFFFF).
    • .rgb: RGB string (e.g., (255, 255, 255)).
    • .guint16: guint16 representation.

    Metadata:

    • {{ Guint16_Palette }}: A string containing all ANSI colors as guint16 values.
    • {{ Dark_Theme }}: Indicates if the theme is dark.

    2. Register and Generate

    1. If you need a new value type, add it to tools/converter.py.
    2. Place the template in tool/templates/. A folder with schemas will be created based on the filename (e.g., editor.ext generates schemas in editor/scheme_name.ext).
    3. Generate the themes using gen.py:
      • To generate all themes for all templates: cd tools/ && ./gen.py.
      • To generate only for a specific template: ./gen.py -t <template_name> (e.g., ./gen.py -t kitty).
    {{ Background_Color }}
    {{ Ansi_0_Color }} // black
    {{ Ansi_1_Color }} // red
    ...
    {{ Background_Color.hex }}
    {{ Background_Color.rgb }}
    {{ Background_Color.guint16 }}
  6. Install color schemes for PuTTY

    master

    New Session Method

    Creates a new blank session with only colors configured.

    1. Download the appropriate colorscheme.reg file.
    2. Right-click the file and select Merge to import the registry changes.
    3. Confirm with "Yes". The scheme will appear as a new PuTTY session.

    Modify Existing Session Method

    Modifies an existing session's color settings.

    1. Download the appropriate colorscheme.reg file.
    2. Open it in a text editor.
    3. Change the session name in the registry key to match your existing session (e.g., change [HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\Molokai] to [HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\your_session_name]).
      • Note: Use percent-encoding for special characters (e.g., space as %20).
    4. Merge the modified .reg file into the registry.
    [HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\root@localhost]