I just checked in a change to start some experimentation with linked colors.
There are various technical things this will let me play with internally, but the immediate visible effect is that palettes can be edited and can have linked colors.
To enable things, a .gpl palette file needs to have some 'magic' strings in its names.
I'm looking for "*{" and "}*" as delimiters. Within those some letters can go in
'E' will make the color editable. This allows you to drop colors onto the palette entry.
'S' will make a color a 'shade' or 'tone' of another color. It requires parenthesis with two or three comma-separated integer values in it. the first number is the index in that palette to link to the second number is the percentage to mix with either black (for shades) or some gray (for tones). the optional third number is the gray percentage to mix with. (if present, makes it a tone. If missing, this will make it a shade)
'T' will make a color a 'tint' of another color. It requires two comma-separated integer values in it the first number is the index in that palette to link to the second number is the percentage to mix with white.
Some examples: ... 204 255 102 CCFF66 *{E}* 102 255 255 66FFFF *{ES(4,25)}* lkj 102 255 51 66FF33 *{ES(4,25,33)}* 102 255 0 66FF00 *{ET( 4, 25 )}* 51 255 255 33FFFF *{ET(4,75)}*
This markup is very temporary, and was only put in as a way to enable testing of some of the color things themselves. (Also... the actual color manipulations might be off right now, as color change accuracy is not as important as the initial linking behavior.)
Oh, and if you tweak a palette successfully, then you should see magic arrows show up in the swatches UI.