Fix misuse of volatile to avoid a data race
[LibreOffice.git] / icon-themes / README.md
blob81230417501a4e3902124c67901c305b210b1c10
1 # Icon Repository for the Applications
3 All of the icons, separated by themes are included in this
4 directory. These icons are built into `.zip` files, and re-ordered `/`
5 packed for efficiency reasons based on our UI configuration by the
6 `postprocess/CustomTarget_images.mk`.
8 An icon theme does not need to contain all images, since these can be
9 layered one on top of another.
11 In general the layering is done like this:
13     <leaf theme>
14     breeze
15     colibre
17 ## How to Add a New Image Set
19 - Create a directory for it here (let's call it e.g. `new_set`)
21     FIXME: It is important to use an underscore `_` to delimit more words.
22          `scp2` compilation crashes when using a dash `-`.
23          It evidently splits the name into two strings.
25     + It's probably not true anymore with filelists.
26     + if this gets changed, `IconThemeSelector::SetPreferredIconTheme` needs to change too
28 - Add its name (`new_set`) to `WITH_THEMES` variable in `configure.ac`
30 - The fallback for particular icons is defined be `packimages_CUSTOM_FALLBACK_1`
31   in `packimages/CustomTarget_images.mk`
34 ## How to Add a New Icon for a New Command
36 - Assume you defined a dispatch command in officecfg like the following:
38 in `officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu`
40     <node oor:name=".uno:OpenFromCalc" oor:op="replace">
41         <prop oor:name="Label" oor:type="xs:string">
42             <value xml:lang="en-US">~Open...</value>
43         </prop>
44         <prop oor:name="Properties" oor:type="xs:int">
45             <value>1</value>
46         </prop>
47     </node>
49   Here, you need to define a property named "Properties", with its value set
50   to 1 so that the icons show up.
52 - Now, you need to add 2 new icon images under `icon-themes/colibre/cmd/`, one
53   for the large size and one for the smaller size.  The name of each image
54   must be `lc_<command name>.png` and `sc_<command name>.png`.  Here, the command
55   name is the name given in the above `.xcu` file without the `.uno:` prefix and
56   all its letters lower-cased.  In this example, the file names will be
57   `lc_openfromcalc.png` and `sc_openfromcalc.png`.  Note that you need to add new
58   images to the colibre theme for them to show up in any themes at all.
60 ## How to Call optipng to Optimize Size
62 8 bit palettes are on the slow path for `quartz/svp/gtk3` so avoid using palettes with...
64     $ optipng -nc <file>