office-gobmx/icon-themes/README.md
Olivier Hallot 9ed35109ab Add info on icon sizes for theming
Information collected from telegram chat by Rizal Mutttaqin, andreas k,
samuel_m, quikee.

Change-Id: I0d61f6b899b261478b6d40386ac5604aa1a3cfdc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121088
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-08-26 21:52:40 +02:00

77 lines
2.7 KiB
Markdown

# Icon Repository for the Applications
All of the icons, separated by themes are included in this
directory. These icons are built into `.zip` files, and re-ordered `/`
packed for efficiency reasons based on our UI configuration by the
`postprocess/CustomTarget_images.mk`.
An icon theme does not need to contain all images, since these can be
layered one on top of another.
In general the layering is done like this:
<leaf theme>
breeze
colibre
## Icon naming convention
sc_* icons are 16x16 px (small)
lc_* icons are 24x24 px (large)
There is also an 32px folder at cmd/ with 32 px icons
16x16 px icons are used in the menus
24x24 px icons are used in toolbars and sidebar
Notebook bar use 24x24 px icons when there is only one icon, and 16x16 px everywhere else
sc_ and lc_ icon are followed by the .uno:CommandName (see below)
## How to Add a New Image Set
- Create a directory for it here (let's call it e.g. `new_set`)
FIXME: It is important to use an underscore `_` to delimit more words.
`scp2` compilation crashes when using a dash `-`.
It evidently splits the name into two strings.
+ It's probably not true anymore with filelists.
+ if this gets changed, `IconThemeSelector::SetPreferredIconTheme` needs to change too
- Add its name (`new_set`) to `WITH_THEMES` variable in `configure.ac`
- The fallback for particular icons is defined be `packimages_CUSTOM_FALLBACK_1`
in `packimages/CustomTarget_images.mk`
## How to Add a New Icon for a New Command
- Assume you defined a dispatch command in officecfg like the following:
in `officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu`
<node oor:name=".uno:OpenFromCalc" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">~Open...</value>
</prop>
<prop oor:name="Properties" oor:type="xs:int">
<value>1</value>
</prop>
</node>
Here, you need to define a property named "Properties", with its value set
to 1 so that the icons show up.
- Now, you need to add 2 new icon images under `icon-themes/colibre/cmd/`, one
for the large size and one for the smaller size. The name of each image
must be `lc_<command name>.png` and `sc_<command name>.png`. Here, the command
name is the name given in the above `.xcu` file without the `.uno:` prefix and
all its letters lower-cased. In this example, the file names will be
`lc_openfromcalc.png` and `sc_openfromcalc.png`. Note that you need to add new
images to the colibre theme for them to show up in any themes at all.
## How to Call optipng to Optimize Size
8 bit palettes are on the slow path for `quartz/svp/gtk3` so avoid using palettes with...
$ optipng -nc <file>