Skip to content

skalidindi3/kicad-colors

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KiCad Colors

Quickly swap KiCad themes/colorschemes.

KiCad's default colors appear to be chosen from the values [0, 132, 194, 255] for each value of the R, G, and B components. We can modify these colors for a more aesthetically pleasing outcome.

Original idea & inspiration from https://github.com/pointhi/kicad-color-schemes

Usage

Invoking the Makefile will modify your current configuration files in-place

  • macOS: ~/Library/Preferences/kicad/eeschema
  • Linux: ~/.config/kicad/eeschema

MAKE A BACKUP

# list available themes for eeschema
$ make show_eeschema_options
set_eeschema_base16_dracula
set_eeschema_base16_nord
set_eeschema_base16_oceanicnext
set_eeschema_base16_onedark
set_eeschema_base16_rebecca
set_eeschema_default
set_eeschema_handpicked_nord
set_eeschema_handpicked_onedark

# select specific theme for eeschema
$ make set_eeschema_base16_nord

# switch back to original eeschema colors
$ make set_eeschema_default

eeschema

Colors in eeschema can be treated as a form of syntax highlighting since all objects on the canvas are drawn on top of a generic background. Therefore, we can get reasonable results by generating themes based on existing terminal colorschemes. They are displayed below.

color-scheme screenshot
default default
handpicked_onedark handpicked_onedark
handpicked_nord handpicked_nord
base16_onedark base16_onedark
base16_nord base16_nord
base16_rebecca base16_rebecca
base16_dracula base16_dracula
base16_oceanicnext base16_oceanicnext

pcbnew (TODO)

Coloring pcbnew is a harder task because layers allow for overlapping information. It is no longer sufficient for an object to have a color with passable contrast to a single background. Each object must now contrast its color against all objects it in the visible stackup. Doing so in an aesthetically pleasing way is difficult.

Since I am not even an "armchair expert" in optics or the color gamut, the task as defined above is beyond what I care to put effort into. Instead, I will restrict my problem space by aiming to have high contrast only on specific layers. This makes aesthetics my de facto priority. Since the Makefile makes it easy to switch between themes, this won't be a deal breaker for me. I can choose a theme well suited for each specific subtask and switch back to the default for final review.