Custom Shelf Tool Icons

   4325   4   1
User Avatar
Member
14 posts
Joined: May 2017
Offline
The documentation [www.sidefx.com] claims you should be able to embed the icon by checking “Embed icon in operator” but this is incorrect, as the option is only present for HDAs (OTLs). For shelf tools, the shelf tool dialog does not have this option, and you can only refer to icon files in an absolute path structure.

Obviously, this doesn't work if you are looking to distribute the shelf tool with the icon packaged alongside it. How can I refer to it relatively? The root location seems to be $HOME, which is not necessarily where the shelf definition is being stored (and most likely is not even a child under $HOME).

Is there actually a way to embed the icon like the documentation suggests?
User Avatar
Member
8177 posts
Joined: Sept. 2011
Online
You can use “config/Icons” to put your shelf tool icons. The folder structure simply has to be in the houdini path. A given toolkit is usually going to be ‘included’ with houdini by a script that adds it's root folder to the houdini path during houdini startup, or environment creation.
User Avatar
Member
14 posts
Joined: May 2017
Offline
jsmack
You can use “config/Icons” to put your shelf tool icons. The folder structure simply has to be in the houdini path. A given toolkit is usually going to be ‘included’ with houdini by a script that adds it's root folder to the houdini path during houdini startup, or environment creation.

Yup! My tool has an install script that adds its root directory to the Houdini path like you say.

Thanks for the help, I wasn't aware I could reference it this way. I assume I can just use “config/Icons/foo.svg” as the path when referencing the icon?
User Avatar
Member
8177 posts
Joined: Sept. 2011
Online
You might be able to just type “foo.svg”
User Avatar
Member
27 posts
Joined: May 2022
Offline
Just to add in case anyone was searching - the current location is:

\Program Files\Side Effects Software\Houdini <yourversion>\houdini\config\Icons

At least for 19.5.x it is. Don't know why this isn't in the docs more clearly, but there it is.
  • Quick Links