MCPcopy Index your code
hub / github.com/doprz/dipc

github.com/doprz/dipc @v1.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.2.0 ↗ · + Follow
49 symbols 89 edges 9 files 1 documented · 2% updated 4mo agov1.2.0 · 2025-12-23★ 3478 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

dipc

crates.io Homebrew

Packaging status

<img alt="dipc light icon" src="https://github.com/doprz/dipc/raw/v1.2.0/images/dipc_light.png">

doprz' image palette converter

Convert your favorite images and wallpapers with your favorite color palettes/themes

Color Palettes/Themes

  • catppuccin
  • dracula
  • edge
  • everforest
  • gruvbox
  • gruvbox-material
  • nord
  • onedark
  • rose-pine
  • solarized
  • tokyo-night

Examples

dipc examples

Image Credits

Paul Bill - https://unsplash.com/@hoffman11

Adrien Vajas - https://unsplash.com/@adrien_vj

Filipp Romanovski - https://unsplash.com/@filipp_roman_photography

Installation

Cargo

cargo install dipc

Homebrew

brew install dipc

Nix

dipc is available as a flake from GitHub or from nixpkgs

# From GitHub
nix run github:doprz/dipc
# From nixpkgs
nix run nixpkgs#dipc

From Source

To build and install from source, first checkout the tag or branch you want to install, then run

cargo install --path .

This will build and install dipc in your ~/.cargo/bin. Make sure that ~/.cargo/bin is in your $PATH variable.

Arch Linux (Community Maintained)

For Arch Linux users, dipc is available in the Arch User Repository (AUR)

yay -S dipc

[!WARNING] This is a community-maintained version of dipc and not an official release.

Usage

Convert your favorite images and wallpapers with your favorite color palettes/themes

Usage: dipc [OPTIONS] <PALETTE> [FILE]...

Arguments:
  <PALETTE>
          The color palette to use:
              - name of a builtin theme
              - path to a theme in JSON
              - a JSON string with the theme (starting with `JSON: {}`)
          Run with --help instead of -h for a list of all builtin themes

          Builtin themes:
              - catppuccin
              - dracula
              - edge
              - everforest
              - gruvbox
              - gruvbox-material
              - nord
              - onedark
              - rose-pine
              - solarized
              - tokyo-night

  [FILE]...
          The image(s) to process. Use `-` to read from stdin

Options:
  -s, --styles <VARIATIONS>
          The color palette variation(s) to use
          Run with --help instead of -h for a list of all possible values

          Possible values:
              - `all` to generate an image for each of the variations
              - `none` if you are using a flat theme without variations
              - or a comma-delimited list of the names of variations it should use

          [default: all]

  -o, --output <PATH>
          Output image(s) name/path as a comma-delimited list. Use `-` to write to stdout

  -d, --dir-output <PATH>
          Output directory name/path

  -m, --method <METHOD>
          CIELAB DeltaE method to use

          [default: de2000]

          Possible values:
          - de2000:  The default DeltaE method
          - de1994g: CIE94 DeltaE implementation, weighted with a tolerance for graphics
          - de1994t: CIE94 DeltaE implementation, weighted with a tolerance for textiles
          - de1976:  The original DeltaE implementation, a basic euclidian distance formula

  -v, --verbose...
          Verbose mode (-v, -vv, -vvv)

  -h, --help
          Print help (see a summary with '-h')

  -V, --version
          Print version

Convert all images in directory

# Save to current directory
dipc <PALETTE> <INPUT_DIR>/*

# Save to output directory
dipc --dir-output <PATH> <PALETTE> <INPUT_DIR>/*

Convert multiple images

dipc <PALETTE> img0.png img1.png

# Rename files
dipc --output new-img0.png,new-img1.png <PALETTE> img0.png img1.png

Color palette variation(s)/style(s)

dipc --styles Style0 <PALETTE> img.png
dipc --styles Style0,Style1 <PALETTE> img.png

CIELAB DeltaE method

dipc --method <METHOD> <PALETTE> img.png

Support for stdin/stdout

grim -g "$(slurp)" - | dipc catppuccin - -o - | swappy -f -
cat image.png | dipc gruvbox - -o - > themed.png

License

dipc is dual-licensed under the terms of both the MIT License and the Apache License 2.0

SPDX-License-Identifier: MIT OR Apache-2.0

Core symbols most depended-on inside this repo

update_preview
called by 5
src/tui/app.rs
is_stdio
called by 4
src/main.rs
block
called by 4
src/tui/ui.rs
refresh_files
called by 4
src/tui/app.rs
get_json
called by 3
src/palettes.rs
to_nearest_palette
called by 2
src/delta.rs
to_rgb
called by 2
src/delta.rs
is_image_file
called by 2
src/tui/utils.rs

Shape

Method 21
Function 17
Class 6
Enum 5

Languages

Rust100%

Modules by API surface

src/tui/app.rs17 symbols
src/tui/ui.rs9 symbols
src/delta.rs7 symbols
src/cli.rs5 symbols
src/config.rs4 symbols
src/tui/utils.rs3 symbols
src/main.rs2 symbols
src/tui.rs1 symbols
src/palettes.rs1 symbols

For agents

$ claude mcp add dipc \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact