Containers Libraries

Ok so, I’m still confused with this new containers thing.

So, how do I save a ‘library’? :sweat_smile:

I hope I don’t have to save every container separately… :sob:

The short answer… “It depends…”

The longer answer…

First, what is a Library actually?
The official help docs for all this stuff are here, but I will try to explain differently.

(I assume you know what a toolbar is)
A toolbar contains one or more buttons.
A button is basically just a graphic interface that is linked to a particular Macro.

What is a Macro?
A Macro is a collection of information that a button needs to exist.
The information includes:

  • A Name - supposedly unique, under which it is stored/referenced*
  • A Command - what actually gets run when you press the button
  • A Button text - shown if the button has text display activated
  • A Menu text - what is shown in the menu if the command is also available via the menus
  • A Help text - shown in the status bar when the command is running
  • A Tooltip - shown when you hover over the button
  • A Button image - this can be blank actually.

*I’m pretty sure there is a GUID somewhere that the actual macro is stored under but you can’t see…

So, a Macro Library is just a collection of macros that constitute all the commands (in that library). This is not to be confused with materials libraries which are a different thing (name conflict here).

A macro library can contain macros that are not associated with buttons - i.e. stuff that is not currently being used - but if there is a button (even a blank one), it necessarily needs a macro. If you add a new toolbar button, it automatically gets a new macro added to the library.

There is one basic library supplied with Rhino, “default” You can modify it as you like. Changes to this library are automatically stored in the settings folder as you make them - there is no need to manually save them - actually there is no way to do so.

You can have different libraries other than default… These are your .rui.

In V8 an .rui is basically just an additional library and set of toolbars that you can add, that is (theoretically) independent of default. These you can save manually via the Toolbar dialog. Intermediate changes to an .rui are saved “temporarily” in the settings file, and when you manually save the .rui, the changes are transferred “permanently” to the .rui. This system is still in flux and will probably change.

I didn’t mention containers here. Containers are basically groups of toolbars (you can also have panels in the same group). Every toolbar needs to be in a container, even if it is a single toolbar (i.e. a group of one). A given toolbar can also be in several containers (like with groups of objects in Rhino). So containers are an organizational scheme for toolbars, but they do not actually have anything to do with the toolbar buttons or macros themselves.


Yes, the ultimate goal is to get rid of the XML files for custom RUI and those of plugins.


:exploding_head: awesome information :beers: :sunglasses: :beers:

:open_mouth: imma start calling them macro buttons :smiley: or gui macro buttons :slightly_smiling_face:

:exploding_head: :open_mouth: :face_with_monocle: :thinking:interesting

I will have to explore windows layouts more. I was thinking that I’d have to just make one big container with all my tools, so I only have to save 1.

I probably wont mess with the .rui thing, that sounds like it could get messy if I try to turn the default library into an .rui and try saving that :joy:

Although I’m now thinking that R7 used .rui’s or is it R4 and R5 for example :thinking:

:face_with_monocle: :thinking:

OT: shortly will limit the amount of emoji’s to 1 per post

Then I’ll have to go back to maxing out the 5 post maximum with one emoji each :joy:

special request for thumbs down button

special note: the rule will only be applied to a non disclosed group of forum users :grinning: :rofl: :stuck_out_tongue_closed_eyes: :crazy_face:

1 Like