New Top

All Products By Category

Creating a script to set your color palettes in Eagle.

Screen shot 2014-09-26 at 10.17.26 PM

A beautiful palette in Eagle. It’s still a work in progress.

This is tutorial to make a script that will set your color palettes in Eagle. Eagle has horrible (and limited) default colors and users have been complaining about them, and the lack of color palette functionality for the last 15 years, with absolutely no response. According to the managers at CadSoft the next revision is slated to fix some of the multitude of interface issues that are wrong with Eagle. (Don’t get me going again…)  If you agree with me, you might wander over to the Eagle support forums at Element 14, and speak up about fixing the color palette, as well as storing color palettes in files.

Anyway here’s how to make a groovy script that will set your favorite palette colors. One use for a script of this type is to reset your colors if they should ever become compromised, but you can also move color palettes between computers, and include them with files that you send to others, so that they can see your beautiful work in the colors in which it was created. To set the color palettes in Eagle, just run the script.

(Sorry these are the mac instructions – windows shouldn’t be that much different. I think the file name for .eaglerc might be different. Feel free to mod my instructions for Windows  and repost.)

• The first step is to edit one of the Eagle palettes to your taste and add some better colors. Don’t forget that the colors are arranged in vertical pairs in the palette. When you choose the top color in the pair in which to have a layer displayed, when the layer is selected, Eagle will use the bottom color of the pair to display the selected/active item in the layer.. If you choose the bottom color in the pair for the layer, elements do not change color when selected. So colors directly above each other in pairs should usually have a great deal in common. I usually make the selected color brighter (more saturated to you artists out there), and more opaque, assuming that when you select an item, you generally want it to pop out at you.

• Once you have finished your masterpiece palette,  quit Eagle. This is important because Eagle has some bizarre ideas of when to write files, so lots of information is stored and then written out when you quit. If the program crashes, well, you lose 🙂

• Open the Terminal and type the command “cd ~” (no quotes) That will get you to your home folder just in case the terminal
doesn’t open with your home folder as the current directory

• Next type the command “ls -la” (no quotes)
That will list all the files including invisible files – which .eaglerc is, since it begins with a period.

• Look for a line similar to this
-rw-r–r–     1 userName  admin      29110 Sep 26 20:29 .eaglerc

If you find .eaglerc all should be well.

• issue the terminal command “less .eaglerc”

• When the file opens in the terminal, use the arrow keys to scroll through the file (it takes a while!) until you find
a line like this:
Palette.0.0 = “0xFF000000”

These are the palette entries.
Palette.0.x entries are the black background
Palette.1.x entries are the background
Palette.2.x entries are the grey or colored background

You can copy any of the palettes for your script, or just one. I only use the white background, so I just copied the 1.x entries etc.
One strategy if you didn’t want to change the black and white palette default colors would be to change the colored background.

Copy the palette/s you want. Paste it into a text editor.  At this point you can exit the terminal if you want.

• Next you need to use the text editor of your choice to search and replace commands to change the text from the form

“Palette.1.1 = “0xB43232C8”

to the form
“set palette 1 0xB43232C8;”

If you have any practice at all searching and replacing, this should only take four or five steps of search/”replace all”, to whip the text into the correct form.

next append the entries:
“set palette black;”     before the black palette entries
“set palette white;”     before the white palette entries
“set palette colored;”   before the colored palette entries

you can add blank lines if you want for formatting – they are ignored.
comments may be added with a # sign beginning the line and ending with a semicolon

•    Here’s the head of my file for an example.

# MyDefaultColors.scr;
# Set the default colors in Eagle Cad;
# colors are stored in .eaglesrc in your home directory;
# open that file and copy the current colors;
# Then edit in a text editor to the proper format;

set palette white;
# you can’t change index 0 in the white palette;
set palette 1 0xB41CC2FE;
set palette 2 0xB4002400;
set palette 3 0xB4008080;
set palette 4 0x96CE0029;
set palette 5 0xB4800080;
.
.
.

• That’s it – save your file as “MyDefaultEagleColors.scr” or anything you wish, just be sure to use a “.scr” extension.

If you get an error in Eagle when you run the script with Run Script  you probably just have a formatting error. You can get an example of a working script from the  “defaultcolors.scr” script in the Eagle/scr folder, to get the syntax right.

Happy palette making. This will give you a way of transporting your colors between computers and sending to others to view your Eagle files as you created them.

Remember you don’t have to get the palette right the first time, you can repeat the process any time, although it is a little tedious. In the meantime, you might speak up in the Eagle  Forums at Element 14 and ask for a load and save button in the set palette window, which would make this tutorial blissfully obsolete.