There are two png icon images defined for a plug-in, 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 plug-ins can have icons URL's relative to the server domain. This allows you to create a plug-in 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 plug-in folder
Assume we have a plug-in called my_plugin containing the two icon images: active/my_plugin/....
Icons in the base plug-in folder
Assume we have a plug-in that uses the icons from the plug-in base, for example the debug plug-in, which has the following plug-in path on disk: plugin_base/action.base/debug.base/....
Externally hosted icons
Assume that we have the plug-in icons hosted on a different machine, different domain, etc.