diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a03d33a --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +# Virtual Environment +_venv/ + +# Pycache +scripts/__pycache__/ \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..10f68c8 --- /dev/null +++ b/Makefile @@ -0,0 +1,22 @@ +# Directory Configurations +THEME_DIR=themes + +# Python Virtual Environment Configurations +VENV_NAME=_venv +PYTHON_VERSION=3 +PIP=$(VENV_NAME)/bin/pip$(PYTHON_VERSION) +PYTHON=$(VENV_NAME)/bin/python$(PYTHON_VERSION) + +# Runs the theme selection script, which will prompt the user for a selection & then +# execute that selection to update the theme. This will also save a backup of the +# original eeschema file in the event the user wants to revert to previous settings. +.PHONY: theme +theme: + python$(PYTHON_VERSION) scripts/theme_selection.py $(THEME_DIR) + +# Creates the Python virtual environment and syncs it with resources/requirements.txt. +.PHONY: venv-update +venv-update: + python$(PYTHON_VERSION) -m venv $(VENV_NAME) + . $(VENV_NAME)/bin/activate + $(PIP) install -r resources/requirements.txt \ No newline at end of file diff --git a/README.md b/README.md index dc6de5b..1be5058 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,101 @@ # kicad-color-schemes -Want to change the color scheme of KiCad? Look here for inspiration. +Want to change the color scheme of your KiCad? You've come to the right place! -## How to use a colour theme. +## How to Select & Install a Theme -Every theme directory contains the colour definition parts of the eeschema and pcbnew setup files found in your personal profile. -- For Linux under ~.config/kicad/ -- Windows XP: “C:\Documents and Settings\username\Application Data” + kicad (= %APPDATA%\kicad) -- Windows Vista & later: “C:\Users\username\AppData\Roaming” + kicad (= %APPDATA%\kicad) -- OSX: The user’s home directory + /Library/Preferences/kicad +The instructions below assume the following: +* The user is using a command line interface (CLI). +* The user has Python3 installed. -Use a text editor to overwrite the relevant sections with the data found in the files in this folder. **Make sure you create a backup first.** +1. Clone this repository. -The pcbnew config file content has been split into the sections responsible for the footprint editor and the one for pcbnew. This is done to allow you to more easily mix and match different schemes for different tools. +```bash +git clone https://github.com/pointhi/kicad-color-schemes.git +``` -## Automatic patcher +2. Close KiCad. Note: **The theme will not be updated unless KiCad is closed**. +3. Navigate into the top-level of the cloned repository. +4. Enter `make` or `make theme` in the CLI. +5. Select the number corresponding to the theme you wish to install. +6. Start KiCad and enjoy your new theme! -An automatic patch script can be used to transfer a colour scheme into your KiCad settings files. Make sure KiCad is closed before using it. +## How it Works -The script expects the directory containing the colour scheme and the kicad config directory as arguments. Switches are included to disable transfer of a particular part of the scheme definition. (use --help for detailed instructions.) A bakup of your settings files is created before changes are made. +User settings for the `eeschema` schematic editor, `pcbnew` layout tool, and the footprint editor are +all stored in user preference files called `eeschema` and `pcbnew` (without file extensions). The +specific keys within those files that correspond to visual appearance for the tool is done through the +[Color4D Class](https://docs.kicad.org/doxygen/classKIGFX_1_1COLOR4D.html). The user preference +files are composed of keys and values like: `Color4DPinNameEx=rgb(67, 76, 94)`. By changing the red/green/blue +color values, the visual appearance of a given element can be altered. -Example: -`python3 patch.py ~/kicad-color-schemes/blue-green-dark/ ~/.config/kicad/` +The **kicad-color-schemes** scripts automatically apply user-selected themes through the following: +1. The Makefile `theme` target calls the `theme_selection.py` script. +2. The `theme_selection.py` script automatically makes backups of **eeschema** and **pcbnew** preference files. + Note: These files are kept in the same directory as the originals, but with a `.bak` extension. +3. The `theme_selection.py` script scans the `themes` directory and finds all available themes. +4. Identified themes are displayed to the user where the user enters a number corresponding to a theme. +5. `patch.py` is called to set the selected theme for all supported tool elements that theme has available. + +As an important note: **Not all themes contain support for all tool elements**. +For example, `base16_dracula` currently only has support for the eeschema tool, so pcbnew and footprint editor +will continue to look the same. + +If you would like to see the limited themes grow and have more effect, please consider supporting this project +by adding configurations for our currently limited themes! + +## Manually Set Themes + +There may be cases where the user wishes to set the themes manually. These may include: + +* Running an unsupported operating system or custom KiCad installation which results in + the scripts being unable to automatically find the user preference files. +* Wanting to set different themes for eeschema, pcbnew, and footprint editor. +* Wanting to supply a custom theme from another directory + (Note: New themes can be included simply by adding a new folder to the `themes` directory) + +Regardless of the specific reason, the user is able to call the `patch.py` script directly with arguments to the +selected theme folder as well as the user preference configuration folder. The following code block +demonstrates this: + +```bash +# From the top-level of the cloned repository +python3 scripts/patch.py [PATH_TO_THEME_FOLDER] [PATH_TO_USER_PREFERENCE_FILES] +``` + +Some optional arguments are also available for mixing and matching: + +Optional Argument | Description +-------------------------- | ------------ +`-e`,`--eeschema_disable` | Disable updating the theme of the schematic editor +`-f`,`--footprint_disable` | Disable updating the theme of the footprint editor +`-p`,`--pcb_disable` | Disable updating the theme of the PCB editor + +## Backing Up Settings + +The `theme_selection.py` script will first check for the existence of `eeschema.bak` within the +KiCad user preference folder. **This is operating system dependant**, based on the table below: + +Operating System (`sys.platform`) | KiCad User Preference Folder +--------------------------------- | ------------------------------------ +Linux Distribution (`linux`) | ~/.config/kicad +macOS (`darwin`) | ~/Library/Preferences/kicad +Windows (`win32`) | C:\Users\\`username`\AppData\Roaming\kicad + +If `eeschema.bak` exists, the script will do nothing more as a backup already exists. If the file +does not yet exist, the script will take a copy of `eeschema` and place it into the same directory +as `eeschema.bak`. It will do the same for `pcbnew` and `pcbnew.bak`. To summarize: +**A backup will be made the first time this script is run and never touched again**. + +If the user wishes to restore the backup theme and settings, this can be done by running `make` as +if a new theme was being picked (see above for more detailed instructions), and select **option #1**. +This option will always be reserved for restoring a backup. If this option is selected, the script +will overwrite the existing eeschema and pcbnew configuration files with the original. + +:exclamation: **Any configuration changes made after a backup was created will be lost if a backup is restored**. +To generate a new backup, simply delete the `eeschema.bak` and `pcbnew.bak` files from the path +listed in the table above and then re-run the script with `make` at the top-level of the cloned +repository. ## JSON themes (for KiCad 6, and "5.99" nightly builds after February 2020) @@ -41,34 +115,61 @@ file in the PcbNew and footprint editor preferences dialogs. color-scheme | screenshot -----------------------------------------------------------|----------- -**kicad-classic** | ![Default theme for KiCad 5.x and earlier](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/kicad-classic/eeschema.png) -**kicad-2020** | ![Default theme for KiCad 6.0](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/kicad-2020/eeschema.png) -**solarized-dark** *http://ethanschoonover.com/solarized* | ![Dark theme based on solarized](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/solarized-dark/eeschema.png) -**solarized-light** *http://ethanschoonover.com/solarized* | ![Light theme based on solarized](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/solarized-light/eeschema.png) -**sw** | ![simple black/white theme](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/sw/eeschema.png) -**blue-tone** | ![Blue tone theme](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/blue-tone/eeschema.png) -**behave-dark** *https://atom.io/themes/behave-theme* | ![Dark theme based on behave](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/behave-dark/eeschema.png) -**neon** *Inspired by forum user BobZ* | ![Neon coloured theme inspired by forum user BobZ](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/neon/eeschema.png) -**nord** *Designed by @0xdec* | ![based on the nordtheme color palette](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/nord/eeschema.png) -**monokai** *Inspired by forum user kickofighto* | ![Dark theme based on monokai](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/monokai/eeschema.png) -**eagle** *Designed by DX-MON, Inspired by EagleCAD* | ![Dark theme based on Eagle](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/eagle/eeschema.png) +**base16_dracula** *[From skalidindi3](https://github.com/skalidindi3/kicad-colors)* | ![base16_dracula eeschema][base16_dracula-eeschema-link] +**base16_nord** *[From skalidindi3](https://github.com/skalidindi3/kicad-colors)* | ![base16_nord eeschema][base16_nord-eeschema-link] +**base16_oceanicnext** *[From skalidindi3](https://github.com/skalidindi3/kicad-colors)* | ![base16_oceanicnext eeschema][base16_oceanicnext-eeschema-link] +**base16_onedark** *[From skalidindi3](https://github.com/skalidindi3/kicad-colors)* | ![base16_onedark eeschema][base16_onedark-eeschema-link] +**base16_rebecca** *[From skalidindi3](https://github.com/skalidindi3/kicad-colors)* | ![base16_rebecca eeschema][base16_rebecca-eeschema-link] +**behave-dark** *[Behave Theme](https://atom.io/themes/behave-theme)* | ![behave-dark eeschema][behave-dark-eeschema-link] +**blue-tone** | ![blue-tone eeschema][blue-tone-eeschema-link] +**eagle** *Designed by DX-MON, Inspired by EagleCAD* | ![eagle eeschema][eagle-eeschema-link] +**handpicked_nord** *[Nord](https://github.com/arcticicestudio/nord-vim/blob/develop/colors/nord.vim)* | ![handpicked_nord eeschema][handpicked_nord-eeschema-link] +**handpicked_onedark** *[Onehalf Dark](https://github.com/sonph/onehalf/blob/master/vim/colors/onehalfdark.vim)* | ![handpicked_onedark eeschema][handpicked_onedark-eeschema-link] +**kicad-2020** | ![kicad-2020 eeschema][kicad-202-eeschema-link] +**kicad-classic** | ![kicad-classic eeschema][kicad-classic-eeschema-link] +**monokai** *Inspired by forum user kickofighto* | ![monokai eeschema][monokai-eeschema-link] +**neon** *Inspired by forum user BobZ* | ![neon eeschema][neon-eeschema-link] +**nord** *Designed by @0xdec* | ![nord eeschema][nord-eeschema-link] +**solarized-dark** *[Solarized](http://ethanschoonover.com/solarized)* | ![solarized-dark eeschema][solarized-dark-eeschema-link] +**solarized-light** *[Solarized](http://ethanschoonover.com/solarized)* | ![solarized-light eeschema][solarized-light-eeschema-link] +**sw** | ![sw eeschema][sw-eeschema-link] ## pcbnew color-scheme | screenshot -----------------------------------------------------------|----------- -**kicad-classic** | ![Default theme for KiCad 5.x and earlier](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/kicad-classic/pcbnew.png) -**kicad-2020** | ![Default theme for KiCad 6.0](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/kicad-2020/pcbnew.png) -**behave-dark** *https://atom.io/themes/behave-theme* | ![Dark theme based on behave](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/behave-dark/pcbnew.png) -**blue-green-dark** | ![Dark theme using blue and green](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/blue-green-dark/pcbnew.png) -**nord** *Designed by @0xdec* | ![based on the nordtheme color palette](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/nord/pcbnew.png) -**eagle** *Designed by DX-MON, Inspired by EagleCAD* | ![Loosely based on Eagle's dark theme](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/eagle/pcbnew.png) +**kicad-classic** | ![Default theme for KiCad 5.x and earlier](themes/kicad-classic/pcbnew.png) +**kicad-2020** | ![Default theme for KiCad 6.0](themes/kicad-2020/pcbnew.png) +**behave-dark** *https://atom.io/themes/behave-theme* | ![Dark theme based on behave](themes/behave-dark/pcbnew.png) +**blue-green-dark** | ![Dark theme using blue and green](themes/blue-green-dark/pcbnew.png) +**nord** *Designed by @0xdec* | ![based on the nordtheme color palette](themes/nord/pcbnew.png) +**eagle** *Designed by DX-MON, Inspired by EagleCAD* | ![Loosely based on Eagle's dark theme](themes/eagle/pcbnew.png) ## footprint editor color-scheme | screenshot -----------------------------------------------------------|----------- -**kicad-classic** | ![Default theme for KiCad 5.x and earlier](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/kicad-classic/footprint_editor.png) -**kicad-2020** | ![Default theme for KiCad 6.0](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/kicad-2020/footprint_editor.png) -**behave-dark** *https://atom.io/themes/behave-theme* | ![Dark theme based on behave](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/behave-dark/footprint_editor.png) -**blue-green-dark** | ![Dark theme using blue and green](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/blue-green-dark/footprint_editor.png) -**nord** *Designed by @0xdec* | ![based on the nordtheme color palette](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/nord/footprint_editor.png) -**eagle** *Designed by DX-MON, Inspired by EagleCAD* | ![Loosely based on Eagle's dark theme](https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/eagle/footprint_editor.png) +**kicad-classic** | ![Default theme for KiCad 5.x and earlier](themes/kicad-classic/footprint_editor.png) +**kicad-2020** | ![Default theme for KiCad 6.0](themes/kicad-2020/footprint_editor.png) +**behave-dark** *https://atom.io/themes/behave-theme* | ![Dark theme based on behave](themes/behave-dark/footprint_editor.png) +**blue-green-dark** | ![Dark theme using blue and green](themes/blue-green-dark/footprint_editor.png) +**nord** *Designed by @0xdec* | ![based on the nordtheme color palette](themes/nord/footprint_editor.png) +**eagle** *Designed by DX-MON, Inspired by EagleCAD* | ![Loosely based on Eagle's dark theme](themes/eagle/footprint_editor.png) + + +[base16_dracula-eeschema-link]: themes/base16_dracula/eeschema.png +[base16_nord-eeschema-link]: themes/base16_nord/eeschema.png +[base16_oceanicnext-eeschema-link]: themes/base16_oceanicnext/eeschema.png +[base16_onedark-eeschema-link]: themes/base16_onedark/eeschema.png +[base16_rebecca-eeschema-link]: themes/base16_rebecca/eeschema.png +[behave-dark-eeschema-link]: themes/behave-dark/eeschema.png +[blue-tone-eeschema-link]: themes/blue-tone/eeschema.png +[eagle-eeschema-link]: themes/eagle/eeschema.png +[handpicked_nord-eeschema-link]: themes/handpicked_nord/eeschema.png +[handpicked_onedark-eeschema-link]: themes/handpicked_onedark/eeschema.png +[kicad-202-eeschema-link]: themes/kicad-2020/eeschema.png +[kicad-classic-eeschema-link]: themes/kicad-classic/eeschema.png +[monokai-eeschema-link]: themes/monokai/eeschema.png +[neon-eeschema-link]: themes/neon/eeschema.png +[nord-eeschema-link]: themes/nord/eeschema.png +[solarized-dark-eeschema-link]: themes/solarized-dark/eeschema.png +[solarized-light-eeschema-link]: themes/solarized-light/eeschema.png +[sw-eeschema-link]: themes/sw/eeschema.png \ No newline at end of file diff --git a/_help/README.md b/resources/README.md similarity index 100% rename from _help/README.md rename to resources/README.md diff --git a/resources/kit-dev-coldfire-xilinx_5213/fp-info-cache b/resources/kit-dev-coldfire-xilinx_5213/fp-info-cache new file mode 100644 index 0000000..573541a --- /dev/null +++ b/resources/kit-dev-coldfire-xilinx_5213/fp-info-cache @@ -0,0 +1 @@ +0 diff --git a/_help/kit-dev-coldfire-xilinx_5213/fp-lib-table b/resources/kit-dev-coldfire-xilinx_5213/fp-lib-table similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/fp-lib-table rename to resources/kit-dev-coldfire-xilinx_5213/fp-lib-table diff --git a/_help/kit-dev-coldfire-xilinx_5213/in_out_conn.bak b/resources/kit-dev-coldfire-xilinx_5213/in_out_conn.bak similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/in_out_conn.bak rename to resources/kit-dev-coldfire-xilinx_5213/in_out_conn.bak diff --git a/_help/kit-dev-coldfire-xilinx_5213/in_out_conn.sch b/resources/kit-dev-coldfire-xilinx_5213/in_out_conn.sch similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/in_out_conn.sch rename to resources/kit-dev-coldfire-xilinx_5213/in_out_conn.sch diff --git a/_help/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213-cache.lib b/resources/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213-cache.lib similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213-cache.lib rename to resources/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213-cache.lib diff --git a/_help/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.bak b/resources/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.bak similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.bak rename to resources/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.bak diff --git a/_help/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.kicad_pcb b/resources/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.kicad_pcb similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.kicad_pcb rename to resources/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.kicad_pcb diff --git a/_help/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.net b/resources/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.net similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.net rename to resources/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.net diff --git a/_help/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.pro b/resources/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.pro similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.pro rename to resources/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.pro diff --git a/_help/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.sch b/resources/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.sch similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.sch rename to resources/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.sch diff --git a/_help/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213_schlib.bck b/resources/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213_schlib.bck similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213_schlib.bck rename to resources/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213_schlib.bck diff --git a/_help/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213_schlib.dcm b/resources/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213_schlib.dcm similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213_schlib.dcm rename to resources/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213_schlib.dcm diff --git a/_help/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213_schlib.lib b/resources/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213_schlib.lib similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213_schlib.lib rename to resources/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213_schlib.lib diff --git a/_help/kit-dev-coldfire-xilinx_5213/prj.3dshapes/Device.switch_toggle_horizontal_right_angle_PC_terminal.wings b/resources/kit-dev-coldfire-xilinx_5213/prj.3dshapes/Device.switch_toggle_horizontal_right_angle_PC_terminal.wings similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/prj.3dshapes/Device.switch_toggle_horizontal_right_angle_PC_terminal.wings rename to resources/kit-dev-coldfire-xilinx_5213/prj.3dshapes/Device.switch_toggle_horizontal_right_angle_PC_terminal.wings diff --git a/_help/kit-dev-coldfire-xilinx_5213/prj.3dshapes/Device.switch_toggle_horizontal_right_angle_PC_terminal.wrl b/resources/kit-dev-coldfire-xilinx_5213/prj.3dshapes/Device.switch_toggle_horizontal_right_angle_PC_terminal.wrl similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/prj.3dshapes/Device.switch_toggle_horizontal_right_angle_PC_terminal.wrl rename to resources/kit-dev-coldfire-xilinx_5213/prj.3dshapes/Device.switch_toggle_horizontal_right_angle_PC_terminal.wrl diff --git a/_help/kit-dev-coldfire-xilinx_5213/prj.3dshapes/Jack.wings b/resources/kit-dev-coldfire-xilinx_5213/prj.3dshapes/Jack.wings similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/prj.3dshapes/Jack.wings rename to resources/kit-dev-coldfire-xilinx_5213/prj.3dshapes/Jack.wings diff --git a/_help/kit-dev-coldfire-xilinx_5213/prj.3dshapes/Jack.wrl b/resources/kit-dev-coldfire-xilinx_5213/prj.3dshapes/Jack.wrl similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/prj.3dshapes/Jack.wrl rename to resources/kit-dev-coldfire-xilinx_5213/prj.3dshapes/Jack.wrl diff --git a/_help/kit-dev-coldfire-xilinx_5213/prj.3dshapes/db9_female_pin90deg.wrl b/resources/kit-dev-coldfire-xilinx_5213/prj.3dshapes/db9_female_pin90deg.wrl similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/prj.3dshapes/db9_female_pin90deg.wrl rename to resources/kit-dev-coldfire-xilinx_5213/prj.3dshapes/db9_female_pin90deg.wrl diff --git a/_help/kit-dev-coldfire-xilinx_5213/prj.3dshapes/push_butt_4pads.wings b/resources/kit-dev-coldfire-xilinx_5213/prj.3dshapes/push_butt_4pads.wings similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/prj.3dshapes/push_butt_4pads.wings rename to resources/kit-dev-coldfire-xilinx_5213/prj.3dshapes/push_butt_4pads.wings diff --git a/_help/kit-dev-coldfire-xilinx_5213/prj.3dshapes/push_butt_4pads.wrl b/resources/kit-dev-coldfire-xilinx_5213/prj.3dshapes/push_butt_4pads.wrl similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/prj.3dshapes/push_butt_4pads.wrl rename to resources/kit-dev-coldfire-xilinx_5213/prj.3dshapes/push_butt_4pads.wrl diff --git a/_help/kit-dev-coldfire-xilinx_5213/sym-lib-table b/resources/kit-dev-coldfire-xilinx_5213/sym-lib-table similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/sym-lib-table rename to resources/kit-dev-coldfire-xilinx_5213/sym-lib-table diff --git a/_help/kit-dev-coldfire-xilinx_5213/test.sch b/resources/kit-dev-coldfire-xilinx_5213/test.sch similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/test.sch rename to resources/kit-dev-coldfire-xilinx_5213/test.sch diff --git a/_help/kit-dev-coldfire-xilinx_5213/xilinx.bak b/resources/kit-dev-coldfire-xilinx_5213/xilinx.bak similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/xilinx.bak rename to resources/kit-dev-coldfire-xilinx_5213/xilinx.bak diff --git a/_help/kit-dev-coldfire-xilinx_5213/xilinx.sch b/resources/kit-dev-coldfire-xilinx_5213/xilinx.sch similarity index 100% rename from _help/kit-dev-coldfire-xilinx_5213/xilinx.sch rename to resources/kit-dev-coldfire-xilinx_5213/xilinx.sch diff --git a/resources/requirements.txt b/resources/requirements.txt new file mode 100644 index 0000000..8e126cf --- /dev/null +++ b/resources/requirements.txt @@ -0,0 +1,16 @@ +# Add a list of pip requirements to be installed for the virtual environment +# https://pip.pypa.io/en/stable/reference/pip_install/#requirements-file-format +# +# Examples: +# ###### Requirements without Version Specifiers ###### +# nose +# nose-cov +# beautifulsoup4 +# +# ###### Requirements with Version Specifiers ###### +# docopt == 0.6.1 # Version Matching. Must be version 0.6.1 +# keyring >= 4.1.1 # Minimum version 4.1.1 +# coverage != 3.5 # Version Exclusion. Anything except version 3.5 +# Mopidy-Dirble ~= 1.1 # Compatible release. Same as >= 1.1, == 1.* + +# No extra packages currently used \ No newline at end of file diff --git a/migrate_to_v6.py b/scripts/migrate_to_v6.py similarity index 100% rename from migrate_to_v6.py rename to scripts/migrate_to_v6.py diff --git a/patch.py b/scripts/patch.py similarity index 77% rename from patch.py rename to scripts/patch.py index 8aba9a4..759a1e9 100755 --- a/patch.py +++ b/scripts/patch.py @@ -13,7 +13,6 @@ def __init__(self, filepath): idx = 0 for line in file: l = line.strip() - #print(line.startswith('#'), line) if l != '' and not (line.startswith('[') or line.startswith('#')): try: key, value = l.split('=', 1) @@ -42,6 +41,7 @@ def write(self): with open(self.filepath, 'w') as file: for key, value in self.content.items(): print("{}={}".format(key, value), file=file) + file.close() parser = argparse.ArgumentParser(description='Patch the KiCad settings file with the given colour scheme.') parser.add_argument('scheme_path', type=Path, nargs=1, @@ -60,6 +60,7 @@ def write(self): exit() if not args.config_dir[0].is_dir(): + print(args.config_dir[0]) print("'{}' expected to be the kicad config directory but it is not a directory or does not exist. (Use --help for instructions.)".format(args.config_dir[0])) exit() @@ -67,21 +68,12 @@ def write(self): print("'{}' expected to be the colour scheme definition directory but it is not a directory or does not exist. (Use --help for instructions.)".format(args.scheme_path[0])) if not args.eeschema_disable: - ee_patch = args.scheme_path[0] / 'eeschema' - if not ee_patch.is_file(): + ee_patch = os.path.join(args.scheme_path[0], 'eeschema') + if not Path(ee_patch).is_file(): print("Scheme does not contain a definition for EESchema, skipped.") else: print("Updating EESchema configuration.") - ee_config = args.config_dir[0] / 'eeschema' - try: - shutil.copy(ee_config, str(ee_config)+".bak") - except: - answer = input("Unable to create backup file. Continue anyways? [y/n] ") - while(answer not in ['y', 'n']): - answer = input("Unable to create backup file. Continue anyways? [y/n] ") - if answer == 'n': - exit() - + ee_config = os.path.join(args.config_dir[0], 'eeschema') eeschema_handler = ConfigFile(ee_config) eeschema_handler.patch(ee_patch) @@ -91,29 +83,20 @@ def write(self): print("Done") exit() -pcb_config = args.config_dir[0] / 'pcbnew' -try: - shutil.copy(pcb_config, str(pcb_config)+".bak") -except: - answer = input("Unable to create backup file. Continue anyways? [y/n] ") - while(answer not in ['y', 'n']): - answer = input("Unable to create backup file. Continue anyways? [y/n] ") - if answer == 'n': - exit() - +pcb_config = os.path.join(args.config_dir[0], 'pcbnew') pcb_handler = ConfigFile(pcb_config) if not args.pcb_disable: - pcb_patch = args.scheme_path[0] / 'pcbnew' - if not pcb_patch.is_file(): + pcb_patch = os.path.join(args.scheme_path[0], 'pcbnew') + if not Path(pcb_patch).is_file(): print("Scheme does not contain a definition for pcb_new, skipped.") else: print("Updating pcb_new configuration.") pcb_handler.patch(pcb_patch) if not args.footprint_disable: - fpe_patch = args.scheme_path[0] / 'footprint_editor' - if not fpe_patch.is_file(): + fpe_patch = os.path.join(args.scheme_path[0], 'footprint_editor') + if not Path(fpe_patch).is_file(): print("Scheme does not contain a definition for the footprint editor, skipped.") else: print("Updating footprint editor configuration.") diff --git a/scripts/theme_selection.py b/scripts/theme_selection.py new file mode 100644 index 0000000..12c4fdf --- /dev/null +++ b/scripts/theme_selection.py @@ -0,0 +1,201 @@ +#!/usr/bin/env python3 +import os +import sys +import shutil +import argparse +import subprocess +from pathlib import Path + +def error(err_msg): + """ + Prints + + Arguments: + err_msg {string} -- Error message to be displayed + + Returns: + None + """ + print('[Error] {}\n'.format(err_msg)) + print(' Run patch.py and manually point to your desired theme and eeschema location') + print(' Command: python3 scripts/patch.py ') + print(' IMPORTANT NOTE: You may need to back up your eeschema and pcbnew files manually first.\n') + sys.exit(1) + +def get_user_preferences_path(): + """ + Retrieve the eeschema and pcbnew folder path based on the operating system. + + Arguments: + None + + Returns: + Path -- This is the ABSOLUTE path to preference folder. + """ + preferences_path = '' + + if sys.platform == 'linux': + preferences_path = os.path.join(os.getenv('HOME'), '.config/kicad') + elif sys.platform == 'darwin': + preferences_path = os.path.join(os.getenv('HOME'), 'Library/Preferences/kicad') + elif sys.platform == 'win32': + preferences_path = os.path.join('c:\\', 'Users', os.getlogin(), 'AppData', 'Roaming', 'kicad') + else: + error('Unsupported OS detected.') + + return preferences_path + +def backup(): + """ + First checks for the presence of the backup directory. If it is not present, this function + will create it and copy the original eeschema & pcbnew files to it based on the operating + system. The following operating systems are supported: + - Linux Distributions + - MacOS + - Windows + + Arguments: + None + + Returns: + None + """ + # The backups should be stored in the user preference folder + preferences_folder = get_user_preferences_path() + + # If the eeschema backup isn't present, then backups have not yet been made + backup_eeschema = os.path.join(preferences_folder, 'eeschema.bak') + if not os.path.exists(backup_eeschema): + # Find the original eeschema and make sure it exists where it should + original_eeschema = os.path.join(preferences_folder, 'eeschema') + if not os.path.exists(original_eeschema): + error('Unable to find {}'.format(original_eeschema)) + + # Find the original pcbnew and make sure it exists where it should + original_pcbnew = os.path.join(preferences_folder, 'pcbnew') + if not os.path.exists(original_pcbnew): + error('Unable to find {}'.format(original_pcbnew)) + + # Copy the original eeschema into the backup directory + backup_eeschema_path = os.path.join(preferences_folder,'eeschema.bak') + print('\n[Info] Backing up {} to {}'.format(original_eeschema, backup_eeschema_path)) + try: + shutil.copyfile(original_eeschema, backup_eeschema_path) + except: + error('Unable to copy {} to {}'.format(original_eeschema, preferences_folder)) + + # Copy the original pcbnew into the backup directory + backup_pcbnew_path = os.path.join(preferences_folder,'pcbnew.bak') + print('[Info] Backing up {} to {}'.format(original_pcbnew, backup_pcbnew_path)) + try: + shutil.copyfile(original_pcbnew, backup_pcbnew_path) + except: + # Remove the eeschema backup so it doesn't signify good backup on next run + os.remove(os.path.join(preferences_folder,'eeschema.bak')) + error('Unable to copy {} to {}'.format(original_pcbnew, preferences_folder)) + else: + print('\n[Info] Backup files are 1already present in {}'.format(preferences_folder)) + +def find_themes(theme_dir): + """ + Finds available themes from the theme directory and populate a list of available options. + + Arguments: + theme_dir {Path} - Path location of theme directory relative to top-level Makefile. + + Returns: + string list -- Theme names of the available theme options. + """ + # Create an empty list for themes + themes = [] + + with os.scandir(theme_dir) as dir: + for entry in dir: + if entry.is_dir(): + themes.append(entry.name) + + # Organize the themes alphabetically and then add restore backup as the first in the list + themes = sorted(themes) + themes = ['restore_backup'] + themes + + return themes + +def select_theme(theme_dir): + """ + Prompts user to select a theme option from the available choices. + + Arguments: + theme_dir {Path} - Path location of theme directory relative to top-level Makefile. + + Returns: + string -- The selected theme. + """ + # First, find available themes + themes = find_themes(theme_dir) + + while True: + # Display the themes for the user to select and prompt for a selection + print('\n') + for index,theme in enumerate(themes): + if index < 9: + print('{}. {}'.format(index + 1, theme)) + else: + print('{}. {}'.format(index + 1, theme)) + selection = input('\nSelect a Number: ') + + if selection.isnumeric(): + selection = int(selection) + + if selection <= len(themes): + return themes[selection-1] + +def install_theme(theme_dir, theme): + """ + Installs the specified theme + + Arguments: + theme_dir {Path} -- Path location of theme directory relative to top-level Makefile. + themes {string} -- Available theme options. + + Returns: + None + """ + # Define the preferences folder to reduce function calls + preferences_folder = get_user_preferences_path() + + # If backup restoration is selected, overwrite the existing eeschema and pcbnew + # files with the eeschema.bak and pcbnew.bak backup files. + if theme == 'restore_backup': + print("[Info] Restoring Backup") + # Copy the backup files over the existing preference files + shutil.copyfile(os.path.join(preferences_folder,'eeschema.bak'), + os.path.join(preferences_folder, 'eeschema')) + shutil.copyfile(os.path.join(preferences_folder,'pcbnew.bak'), + os.path.join(preferences_folder, 'pcbnew')) + + # Otherwise, call patch.py to install the selected theme + else: + theme_config_folder = os.path.join(os.getcwd(), theme_dir, theme) + print("[Info] Installing Theme: {}".format(theme)) + print('[Info] SRC: {}/eeschema'.format(theme_config_folder)) + print('[Info] DEST: {}/eeschema\n'.format(preferences_folder)) + # Call patch.py to install the selected theme + os.system('python3 scripts/patch.py {} {}'.format(theme_config_folder, preferences_folder)) + +def main(): + # Add & Parse available arguments + parser = argparse.ArgumentParser(description='Display and select KiCAD theme to be installed') + parser.add_argument('theme_dir', type=Path, nargs=1, help='Theme dir for KiCAD themes') + args = parser.parse_args() + + # First and foremost, backup the existing eeschema if not done already + backup() + + # Find & select theme + theme = select_theme(args.theme_dir[0]) + + # Use patch.py to install the selected theme + install_theme(args.theme_dir[0], theme) + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/themes/base16_dracula/eeschema b/themes/base16_dracula/eeschema new file mode 100644 index 0000000..88c593b --- /dev/null +++ b/themes/base16_dracula/eeschema @@ -0,0 +1,26 @@ +Color4DBgCanvasEx=rgb(40, 41, 54) +Color4DBodyBgEx=rgb(77, 79, 104) +Color4DBodyEx=rgb(234, 81, 178) +Color4DPinEx=rgb(234, 81, 178) +Color4DPinNumEx=rgb(234, 81, 178) +Color4DGLabelEx=rgb(234, 81, 178) +Color4DWireEx=rgb(0, 247, 105) +Color4DConnEx=rgb(0, 247, 105) +Color4DPinNameEx=rgb(0, 247, 105) +Color4DGridEx=rgb(235, 255, 135) +Color4DLLabelEx=rgb(235, 255, 135) +Color4DHLabelEx=rgb(235, 255, 135) +Color4DBusEx=rgb(98, 214, 232) +Color4DNoConnectEx=rgb(98, 214, 232) +Color4DNoteEx=rgb(98, 214, 232) +Color4DSheetEx=rgb(180, 91, 207) +Color4DSheetLabelEx=rgb(180, 91, 207) +Color4DFieldEx=rgb(161, 239, 228) +Color4DReferenceEx=rgb(161, 239, 228) +Color4DValueEx=rgb(161, 239, 228) +Color4DErcWEx=rgb(255, 0, 0) +Color4DErcEEx=rgb(255, 0, 0) +Color4DNetNameEx=rgb(180, 91, 207) +Color4DSheetFileNameEx=rgb(180, 91, 207) +Color4DSheetNameEx=rgb(180, 91, 207) +Color4DBrighenedEx=rgb(180, 91, 207) diff --git a/themes/base16_dracula/eeschema.png b/themes/base16_dracula/eeschema.png new file mode 100644 index 0000000..3d491e7 Binary files /dev/null and b/themes/base16_dracula/eeschema.png differ diff --git a/themes/base16_nord/eeschema b/themes/base16_nord/eeschema new file mode 100644 index 0000000..dc1d231 --- /dev/null +++ b/themes/base16_nord/eeschema @@ -0,0 +1,26 @@ +Color4DBgCanvasEx=rgb(46, 52, 64) +Color4DBodyBgEx=rgb(76, 86, 106) +Color4DBodyEx=rgb(136, 192, 208) +Color4DPinEx=rgb(136, 192, 208) +Color4DPinNumEx=rgb(136, 192, 208) +Color4DGLabelEx=rgb(136, 192, 208) +Color4DWireEx=rgb(191, 97, 106) +Color4DConnEx=rgb(191, 97, 106) +Color4DPinNameEx=rgb(191, 97, 106) +Color4DGridEx=rgb(94, 129, 172) +Color4DLLabelEx=rgb(94, 129, 172) +Color4DHLabelEx=rgb(94, 129, 172) +Color4DBusEx=rgb(235, 203, 139) +Color4DNoConnectEx=rgb(235, 203, 139) +Color4DNoteEx=rgb(235, 203, 139) +Color4DSheetEx=rgb(163, 190, 140) +Color4DSheetLabelEx=rgb(163, 190, 140) +Color4DFieldEx=rgb(208, 135, 112) +Color4DReferenceEx=rgb(208, 135, 112) +Color4DValueEx=rgb(208, 135, 112) +Color4DErcWEx=rgb(255, 0, 0) +Color4DErcEEx=rgb(255, 0, 0) +Color4DNetNameEx=rgb(163, 190, 140) +Color4DSheetFileNameEx=rgb(163, 190, 140) +Color4DSheetNameEx=rgb(163, 190, 140) +Color4DBrighenedEx=rgb(163, 190, 140) diff --git a/themes/base16_nord/eeschema.png b/themes/base16_nord/eeschema.png new file mode 100644 index 0000000..b3c2ed2 Binary files /dev/null and b/themes/base16_nord/eeschema.png differ diff --git a/themes/base16_oceanicnext/eeschema b/themes/base16_oceanicnext/eeschema new file mode 100644 index 0000000..8c559ba --- /dev/null +++ b/themes/base16_oceanicnext/eeschema @@ -0,0 +1,26 @@ +Color4DBgCanvasEx=rgb(27, 43, 52) +Color4DBodyBgEx=rgb(101, 115, 126) +Color4DBodyEx=rgb(236, 95, 103) +Color4DPinEx=rgb(236, 95, 103) +Color4DPinNumEx=rgb(236, 95, 103) +Color4DGLabelEx=rgb(236, 95, 103) +Color4DWireEx=rgb(153, 199, 148) +Color4DConnEx=rgb(153, 199, 148) +Color4DPinNameEx=rgb(153, 199, 148) +Color4DGridEx=rgb(250, 200, 99) +Color4DLLabelEx=rgb(250, 200, 99) +Color4DHLabelEx=rgb(250, 200, 99) +Color4DBusEx=rgb(102, 153, 204) +Color4DNoConnectEx=rgb(102, 153, 204) +Color4DNoteEx=rgb(102, 153, 204) +Color4DSheetEx=rgb(197, 148, 197) +Color4DSheetLabelEx=rgb(197, 148, 197) +Color4DFieldEx=rgb(95, 179, 179) +Color4DReferenceEx=rgb(95, 179, 179) +Color4DValueEx=rgb(95, 179, 179) +Color4DErcWEx=rgb(255, 0, 0) +Color4DErcEEx=rgb(255, 0, 0) +Color4DNetNameEx=rgb(197, 148, 197) +Color4DSheetFileNameEx=rgb(197, 148, 197) +Color4DSheetNameEx=rgb(197, 148, 197) +Color4DBrighenedEx=rgb(197, 148, 197) diff --git a/themes/base16_oceanicnext/eeschema.png b/themes/base16_oceanicnext/eeschema.png new file mode 100644 index 0000000..b5f1a82 Binary files /dev/null and b/themes/base16_oceanicnext/eeschema.png differ diff --git a/themes/base16_onedark/eeschema b/themes/base16_onedark/eeschema new file mode 100644 index 0000000..af6c3fb --- /dev/null +++ b/themes/base16_onedark/eeschema @@ -0,0 +1,26 @@ +Color4DBgCanvasEx=rgb(40, 44, 52) +Color4DBodyBgEx=rgb(84, 88, 98) +Color4DBodyEx=rgb(224, 108, 117) +Color4DPinEx=rgb(224, 108, 117) +Color4DPinNumEx=rgb(224, 108, 117) +Color4DGLabelEx=rgb(224, 108, 117) +Color4DWireEx=rgb(152, 195, 121) +Color4DConnEx=rgb(152, 195, 121) +Color4DPinNameEx=rgb(152, 195, 121) +Color4DGridEx=rgb(229, 192, 123) +Color4DLLabelEx=rgb(229, 192, 123) +Color4DHLabelEx=rgb(229, 192, 123) +Color4DBusEx=rgb(97, 175, 239) +Color4DNoConnectEx=rgb(97, 175, 239) +Color4DNoteEx=rgb(97, 175, 239) +Color4DSheetEx=rgb(198, 120, 221) +Color4DSheetLabelEx=rgb(198, 120, 221) +Color4DFieldEx=rgb(86, 182, 194) +Color4DReferenceEx=rgb(86, 182, 194) +Color4DValueEx=rgb(86, 182, 194) +Color4DErcWEx=rgb(255, 0, 0) +Color4DErcEEx=rgb(255, 0, 0) +Color4DNetNameEx=rgb(198, 120, 221) +Color4DSheetFileNameEx=rgb(198, 120, 221) +Color4DSheetNameEx=rgb(198, 120, 221) +Color4DBrighenedEx=rgb(198, 120, 221) diff --git a/themes/base16_onedark/eeschema.png b/themes/base16_onedark/eeschema.png new file mode 100644 index 0000000..1c796d4 Binary files /dev/null and b/themes/base16_onedark/eeschema.png differ diff --git a/themes/base16_rebecca/eeschema b/themes/base16_rebecca/eeschema new file mode 100644 index 0000000..0a4ff69 --- /dev/null +++ b/themes/base16_rebecca/eeschema @@ -0,0 +1,26 @@ +Color4DBgCanvasEx=rgb(41, 42, 68) +Color4DBodyBgEx=rgb(102, 102, 153) +Color4DBodyEx=rgb(160, 160, 197) +Color4DPinEx=rgb(160, 160, 197) +Color4DPinNumEx=rgb(160, 160, 197) +Color4DGLabelEx=rgb(160, 160, 197) +Color4DWireEx=rgb(109, 254, 223) +Color4DConnEx=rgb(109, 254, 223) +Color4DPinNameEx=rgb(109, 254, 223) +Color4DGridEx=rgb(174, 129, 255) +Color4DLLabelEx=rgb(174, 129, 255) +Color4DHLabelEx=rgb(174, 129, 255) +Color4DBusEx=rgb(45, 224, 167) +Color4DNoConnectEx=rgb(45, 224, 167) +Color4DNoteEx=rgb(45, 224, 167) +Color4DSheetEx=rgb(122, 165, 255) +Color4DSheetLabelEx=rgb(122, 165, 255) +Color4DFieldEx=rgb(142, 174, 224) +Color4DReferenceEx=rgb(142, 174, 224) +Color4DValueEx=rgb(142, 174, 224) +Color4DErcWEx=rgb(255, 0, 0) +Color4DErcEEx=rgb(255, 0, 0) +Color4DNetNameEx=rgb(122, 165, 255) +Color4DSheetFileNameEx=rgb(122, 165, 255) +Color4DSheetNameEx=rgb(122, 165, 255) +Color4DBrighenedEx=rgb(122, 165, 255) diff --git a/themes/base16_rebecca/eeschema.png b/themes/base16_rebecca/eeschema.png new file mode 100644 index 0000000..80d7817 Binary files /dev/null and b/themes/base16_rebecca/eeschema.png differ diff --git a/behave-dark/behave-dark.json b/themes/behave-dark/behave-dark.json similarity index 100% rename from behave-dark/behave-dark.json rename to themes/behave-dark/behave-dark.json diff --git a/behave-dark/eeschema b/themes/behave-dark/eeschema similarity index 100% rename from behave-dark/eeschema rename to themes/behave-dark/eeschema diff --git a/behave-dark/eeschema.png b/themes/behave-dark/eeschema.png similarity index 100% rename from behave-dark/eeschema.png rename to themes/behave-dark/eeschema.png diff --git a/behave-dark/footprint_editor b/themes/behave-dark/footprint_editor similarity index 100% rename from behave-dark/footprint_editor rename to themes/behave-dark/footprint_editor diff --git a/behave-dark/footprint_editor.png b/themes/behave-dark/footprint_editor.png similarity index 100% rename from behave-dark/footprint_editor.png rename to themes/behave-dark/footprint_editor.png diff --git a/behave-dark/pcbnew b/themes/behave-dark/pcbnew similarity index 100% rename from behave-dark/pcbnew rename to themes/behave-dark/pcbnew diff --git a/behave-dark/pcbnew.png b/themes/behave-dark/pcbnew.png similarity index 100% rename from behave-dark/pcbnew.png rename to themes/behave-dark/pcbnew.png diff --git a/blue-green-dark/blue-green-dark.json b/themes/blue-green-dark/blue-green-dark.json similarity index 100% rename from blue-green-dark/blue-green-dark.json rename to themes/blue-green-dark/blue-green-dark.json diff --git a/blue-green-dark/footprint_editor b/themes/blue-green-dark/footprint_editor similarity index 100% rename from blue-green-dark/footprint_editor rename to themes/blue-green-dark/footprint_editor diff --git a/blue-green-dark/footprint_editor.png b/themes/blue-green-dark/footprint_editor.png similarity index 100% rename from blue-green-dark/footprint_editor.png rename to themes/blue-green-dark/footprint_editor.png diff --git a/blue-green-dark/pcbnew b/themes/blue-green-dark/pcbnew similarity index 100% rename from blue-green-dark/pcbnew rename to themes/blue-green-dark/pcbnew diff --git a/blue-green-dark/pcbnew.png b/themes/blue-green-dark/pcbnew.png similarity index 100% rename from blue-green-dark/pcbnew.png rename to themes/blue-green-dark/pcbnew.png diff --git a/blue-tone/blue-tone.json b/themes/blue-tone/blue-tone.json similarity index 100% rename from blue-tone/blue-tone.json rename to themes/blue-tone/blue-tone.json diff --git a/blue-tone/eeschema b/themes/blue-tone/eeschema similarity index 100% rename from blue-tone/eeschema rename to themes/blue-tone/eeschema diff --git a/blue-tone/eeschema.png b/themes/blue-tone/eeschema.png similarity index 100% rename from blue-tone/eeschema.png rename to themes/blue-tone/eeschema.png diff --git a/eagle/eagle.json b/themes/eagle/eagle.json similarity index 100% rename from eagle/eagle.json rename to themes/eagle/eagle.json diff --git a/eagle/eeschema b/themes/eagle/eeschema similarity index 100% rename from eagle/eeschema rename to themes/eagle/eeschema diff --git a/eagle/eeschema.png b/themes/eagle/eeschema.png similarity index 100% rename from eagle/eeschema.png rename to themes/eagle/eeschema.png diff --git a/eagle/footprint_editor b/themes/eagle/footprint_editor similarity index 100% rename from eagle/footprint_editor rename to themes/eagle/footprint_editor diff --git a/eagle/footprint_editor.png b/themes/eagle/footprint_editor.png similarity index 100% rename from eagle/footprint_editor.png rename to themes/eagle/footprint_editor.png diff --git a/eagle/pcbnew b/themes/eagle/pcbnew similarity index 100% rename from eagle/pcbnew rename to themes/eagle/pcbnew diff --git a/eagle/pcbnew.png b/themes/eagle/pcbnew.png similarity index 100% rename from eagle/pcbnew.png rename to themes/eagle/pcbnew.png diff --git a/eagle/pl_editor b/themes/eagle/pl_editor similarity index 100% rename from eagle/pl_editor rename to themes/eagle/pl_editor diff --git a/themes/handpicked_nord/eeschema b/themes/handpicked_nord/eeschema new file mode 100644 index 0000000..909facb --- /dev/null +++ b/themes/handpicked_nord/eeschema @@ -0,0 +1,26 @@ +Color4DBgCanvasEx=rgb(59, 66, 82) +Color4DBodyBgEx=rgb(76, 86, 106) +Color4DBodyEx=rgb(191, 97, 106) +Color4DPinEx=rgb(191, 97, 106) +Color4DPinNumEx=rgb(191, 97, 106) +Color4DGLabelEx=rgb(191, 97, 106) +Color4DWireEx=rgb(163, 190, 140) +Color4DConnEx=rgb(163, 190, 140) +Color4DPinNameEx=rgb(163, 190, 140) +Color4DGridEx=rgb(235, 203, 139) +Color4DLLabelEx=rgb(235, 203, 139) +Color4DHLabelEx=rgb(235, 203, 139) +Color4DBusEx=rgb(129, 161, 193) +Color4DNoConnectEx=rgb(129, 161, 193) +Color4DNoteEx=rgb(129, 161, 193) +Color4DSheetEx=rgb(180, 142, 173) +Color4DSheetLabelEx=rgb(180, 142, 173) +Color4DFieldEx=rgb(143, 188, 187) +Color4DReferenceEx=rgb(143, 188, 187) +Color4DValueEx=rgb(143, 188, 187) +Color4DErcWEx=rgb(255, 0, 0) +Color4DErcEEx=rgb(255, 0, 0) +Color4DNetNameEx=rgb(180, 142, 173) +Color4DSheetFileNameEx=rgb(180, 142, 173) +Color4DSheetNameEx=rgb(180, 142, 173) +Color4DBrighenedEx=rgb(180, 142, 173) diff --git a/themes/handpicked_nord/eeschema.png b/themes/handpicked_nord/eeschema.png new file mode 100644 index 0000000..9e4ccf0 Binary files /dev/null and b/themes/handpicked_nord/eeschema.png differ diff --git a/themes/handpicked_onedark/eeschema b/themes/handpicked_onedark/eeschema new file mode 100644 index 0000000..fd3d90f --- /dev/null +++ b/themes/handpicked_onedark/eeschema @@ -0,0 +1,26 @@ +Color4DBgCanvasEx=rgb(40, 44, 52) +Color4DBodyBgEx=rgb(49, 54, 64) +Color4DBodyEx=rgb(224, 108, 117) +Color4DPinEx=rgb(224, 108, 117) +Color4DPinNumEx=rgb(224, 108, 117) +Color4DGLabelEx=rgb(224, 108, 117) +Color4DWireEx=rgb(152, 195, 121) +Color4DConnEx=rgb(152, 195, 121) +Color4DPinNameEx=rgb(152, 195, 121) +Color4DGridEx=rgb(229, 192, 123) +Color4DLLabelEx=rgb(229, 192, 123) +Color4DHLabelEx=rgb(229, 192, 123) +Color4DBusEx=rgb(97, 175, 239) +Color4DNoConnectEx=rgb(97, 175, 239) +Color4DNoteEx=rgb(97, 175, 239) +Color4DSheetEx=rgb(198, 120, 221) +Color4DSheetLabelEx=rgb(198, 120, 221) +Color4DFieldEx=rgb(86, 182, 194) +Color4DReferenceEx=rgb(86, 182, 194) +Color4DValueEx=rgb(86, 182, 194) +Color4DErcWEx=rgb(255, 0, 0) +Color4DErcEEx=rgb(255, 0, 0) +Color4DNetNameEx=rgb(198, 120, 221) +Color4DSheetFileNameEx=rgb(198, 120, 221) +Color4DSheetNameEx=rgb(198, 120, 221) +Color4DBrighenedEx=rgb(198, 120, 221) diff --git a/themes/handpicked_onedark/eeschema.png b/themes/handpicked_onedark/eeschema.png new file mode 100644 index 0000000..e7f84f9 Binary files /dev/null and b/themes/handpicked_onedark/eeschema.png differ diff --git a/kicad-2020/eeschema.png b/themes/kicad-2020/eeschema.png similarity index 100% rename from kicad-2020/eeschema.png rename to themes/kicad-2020/eeschema.png diff --git a/kicad-2020/footprint_editor.png b/themes/kicad-2020/footprint_editor.png similarity index 100% rename from kicad-2020/footprint_editor.png rename to themes/kicad-2020/footprint_editor.png diff --git a/kicad-2020/kicad_2020.json b/themes/kicad-2020/kicad_2020.json similarity index 100% rename from kicad-2020/kicad_2020.json rename to themes/kicad-2020/kicad_2020.json diff --git a/kicad-2020/pcbnew.png b/themes/kicad-2020/pcbnew.png similarity index 100% rename from kicad-2020/pcbnew.png rename to themes/kicad-2020/pcbnew.png diff --git a/kicad-classic/eeschema b/themes/kicad-classic/eeschema similarity index 100% rename from kicad-classic/eeschema rename to themes/kicad-classic/eeschema diff --git a/kicad-classic/eeschema.png b/themes/kicad-classic/eeschema.png similarity index 100% rename from kicad-classic/eeschema.png rename to themes/kicad-classic/eeschema.png diff --git a/kicad-classic/footprint_editor b/themes/kicad-classic/footprint_editor similarity index 100% rename from kicad-classic/footprint_editor rename to themes/kicad-classic/footprint_editor diff --git a/kicad-classic/footprint_editor.png b/themes/kicad-classic/footprint_editor.png similarity index 100% rename from kicad-classic/footprint_editor.png rename to themes/kicad-classic/footprint_editor.png diff --git a/kicad-classic/pcbnew b/themes/kicad-classic/pcbnew similarity index 100% rename from kicad-classic/pcbnew rename to themes/kicad-classic/pcbnew diff --git a/kicad-classic/pcbnew.png b/themes/kicad-classic/pcbnew.png similarity index 100% rename from kicad-classic/pcbnew.png rename to themes/kicad-classic/pcbnew.png diff --git a/monokai/eeschema b/themes/monokai/eeschema similarity index 100% rename from monokai/eeschema rename to themes/monokai/eeschema diff --git a/monokai/eeschema.png b/themes/monokai/eeschema.png similarity index 100% rename from monokai/eeschema.png rename to themes/monokai/eeschema.png diff --git a/monokai/monokai.json b/themes/monokai/monokai.json similarity index 100% rename from monokai/monokai.json rename to themes/monokai/monokai.json diff --git a/neon/eeschema b/themes/neon/eeschema similarity index 100% rename from neon/eeschema rename to themes/neon/eeschema diff --git a/neon/eeschema.png b/themes/neon/eeschema.png similarity index 100% rename from neon/eeschema.png rename to themes/neon/eeschema.png diff --git a/nord/eeschema b/themes/nord/eeschema similarity index 100% rename from nord/eeschema rename to themes/nord/eeschema diff --git a/nord/eeschema.png b/themes/nord/eeschema.png similarity index 100% rename from nord/eeschema.png rename to themes/nord/eeschema.png diff --git a/nord/footprint_editor b/themes/nord/footprint_editor similarity index 100% rename from nord/footprint_editor rename to themes/nord/footprint_editor diff --git a/nord/footprint_editor.png b/themes/nord/footprint_editor.png similarity index 100% rename from nord/footprint_editor.png rename to themes/nord/footprint_editor.png diff --git a/nord/nord.json b/themes/nord/nord.json similarity index 100% rename from nord/nord.json rename to themes/nord/nord.json diff --git a/nord/pcbnew b/themes/nord/pcbnew similarity index 100% rename from nord/pcbnew rename to themes/nord/pcbnew diff --git a/nord/pcbnew.png b/themes/nord/pcbnew.png similarity index 100% rename from nord/pcbnew.png rename to themes/nord/pcbnew.png diff --git a/solarized-dark/eeschema b/themes/solarized-dark/eeschema similarity index 100% rename from solarized-dark/eeschema rename to themes/solarized-dark/eeschema diff --git a/solarized-dark/eeschema.png b/themes/solarized-dark/eeschema.png similarity index 100% rename from solarized-dark/eeschema.png rename to themes/solarized-dark/eeschema.png diff --git a/solarized-dark/solarized-dark.json b/themes/solarized-dark/solarized-dark.json similarity index 100% rename from solarized-dark/solarized-dark.json rename to themes/solarized-dark/solarized-dark.json diff --git a/solarized-light/eeschema b/themes/solarized-light/eeschema similarity index 100% rename from solarized-light/eeschema rename to themes/solarized-light/eeschema diff --git a/solarized-light/eeschema.png b/themes/solarized-light/eeschema.png similarity index 100% rename from solarized-light/eeschema.png rename to themes/solarized-light/eeschema.png diff --git a/solarized-light/solarized-light.json b/themes/solarized-light/solarized-light.json similarity index 100% rename from solarized-light/solarized-light.json rename to themes/solarized-light/solarized-light.json diff --git a/sw/eeschema b/themes/sw/eeschema similarity index 100% rename from sw/eeschema rename to themes/sw/eeschema diff --git a/sw/eeschema.png b/themes/sw/eeschema.png similarity index 100% rename from sw/eeschema.png rename to themes/sw/eeschema.png