There are two png icon images defined for a plugin, one is 16x16 pixels and the other 24x24 pixels. These icons are used in the desktop client, the 24x24 variant is used as icon for the button in the main button toolbar, the 16x16 variant is currently not used, but defined for future reference.
<action> <icon16Url>...</icon16Url> <icon24Url>...</icon24Url> </action>
Internally hosted plugins can have icons URL's relative to the server domain. This allows you to create a plugin which can run directly in any Elvis server installation without having to change the icon URL settings. There are variables that can be used to create these relative URL's.
Icons in the plugin folder
Assume we have a plugin called my_plugin containing the two icon images: active/my_plugin/....
Icons in the base plugin folder
Assume we have a plugin that uses the icons from the plugin base, for example the debug plugin, which has the following plugin path on disk: plugin_base/action.base/debug.base/....
Externally hosted icons
Assume that we have the plugin icons hosted on a different machine, different domain, etc.