How do I replace the colors in my drawings?

LibreOffice switched the available colors.

Some of the colors I had used aren’t available any more. So if I want an old item and a new item to match, I have to replace the colors in the old item. And I want to replace the colors through the whole document. But I can’t check the exact shade of each item, without clicking on each group, clicking again to enter the group, clicking on the item I want to check, no not that one, the other one, that one, click, click, click, click back out, etc.

In 1 document, I have to check 704 groups, and about 8 items in each group. I have coordination problems and arm injuries, so this isn’t easy. Some draw programs used to include a sampling tool, so you could check exactly which shade a given spot used, without drilling down into groups. Does LibreOffice include anything similar? I tried help, to no avail.

The colors are stored as numbers in the file. When loading the document, the numbers are matched to the color names in the actual color palette in the user settings. This does not change the colors itself.

You can take an old version of the file “standard.soc” and use it to replace the “standard.soc” in user/config. This “standard.soc” file determines the colors, which you will see as default. If you have not got an old version, you can extract it from an old installation set; it is in the folder “presets”.

You can make your own “standard.soc”. It is a plain text file. Each color has an item of the kind <draw:color draw:name="Black" draw:color="#000000"/>. For those colors, which you want from the old palette, copy its items form the old palette file into the new palette file.

To get all actual used colors of the document, save the document in the flat fodg format. The colors are in hex notation, e.g. #b42033, and easily to find by the sign #. You can use find&replace in an editor to exchange values. The real problem is, that you have already mixed up the colors in the document and therefore I see no way as examine the wrong and correct colored objects to get the actual colors. Select one wrong colored object, Format > Area > tab Colors, button Pick. You will see the hex number of the color. Same for one object with the wished color. With this knowledge, you can do a bulk change in the fodg file.

Hi MarjaE

I do not have any fix from within Draw. Really, I’m just sympathising with you, and damn whoever decided to replace the Default Palette. For whose benefit? Stupid little sh*t (perhaps some day soon they will display a similar lack of forethought whilst crossing the road in front of traffic & thus fix many future problems in one fell swoop).

PaintShop Pro (Windows) & GIMP (Linux) each have a Colour Picker Tool. The quickest way that I’ve found to fix this is to:-

  1. find an orphaned colour
  2. take a screen snapshot
  3. use colour picker to find html colour value for orphan
  4. Create named-colour using that shade
  5. replace all instances of that orphan with new colour

It’s fantastically long-winded & stupid. However, take note:- all named shades within my previous palette are retained within the new palette (in other words, named Palette entries survived the update - a hint for future action?).

Re: take a screen snapshot:- very easy in Windows (press “Print Screen/SysRq” key then paste in PSP). In Linux I had to install “Shutter”, which seems overkill.

I’ve already started converting the colors. It’s too late to go back to the old colors. It’s just ridiculously tedious and painful.

P.S. I’ve mostly switched to NeoOffice. I have a strobe sensitivity, and MacOS only allows users to disable strobing cursors in NStext, not in Webkit. I’m going back to LibreOffice for color-switching and color-repair though.


I do not know if this will help you, but there is Tools Color Replacer whose is described here.

As said in the help tool does not work on drawing objects. However, just convert them (e.g. Right click on the object Convert to Metafile) to make them compatible.

If I can afford advice for your future designs: Use a style solves this problem instantly because you just change the style for the change to be reflected in all objects.