I copy here the comment inside of Jim's example toolbars:
Example Toolbar File
A toolbar file is simply a text file containing a list of commands you want
to appear on your toolbar. The # symbol denotes a comment and is skipped by the toolbar maker.
The Toolbar filename must end in .txt. The name of the .txt file is used
as the Toolbar name.
Toolbar separators can be created using 3 dashes (---) on a line by themselves.
You can create any reasonable number of custom toolbars, just create another .txt file
in the same folder as this one. All available toolbars will be loaded.
Commands are not case sensitive, but capitals can be used to help readability. For example,
the following commands are identical:
fileNew
filenew
FileNew
Filenew
FILENEW
In the toolbar folder, there's a html file that contains the commands that you can insert in your custom toolbar. When you search a bit, you find that they refer to ruby scripts (for each single command) in the files/sketchup/commands subfolder.
So I dublicated such a ruby, edited it and put the icon in the images folder. For example freeScale.rb:
cmd = UI::Command.new("FreeScale") { FreeScale.launch false, true }
cmd.small_icon = "../images/freeScale_sm.png"
cmd.large_icon = "../images/freeScale_lg.png"
cmd.tooltip = "Scale with orientation of scaling box"
cmd.status_bar_text = "Scale with orientation of scaling box"
cmd.menu_text = "Scale with orientation of scaling box"
cmd.set_validation_proc { tool_validation_proc"FreeScale.launch") }
@cmd = cmd
The bold phrases need to be edited to make it work. The most difficult thing is to find how the function of a plugin is called. I opened the plugins, searched for 'UI.menu' which creates the toolbar buttons of the original plugin. I don't know what the underlined phrase is for.