I am presently having an issue with Extension Manager. I have loaded up all of my plugins that I like to use, but right now I want to disable all of them. I have used the enable/disbale switch and have hit apply, but for some reason several of them just will not allow me to disable them.
I am also having an issue where I have gone to View/Toolbars and turned off all of the, but for some reason two of them keep coming back after restarting Sketchup.
Which “two” ?
A badly configured Extension might re-enable itself after a restart…
Unless you tell us exactly what’s wrong we can’t do much to advise you…
The culprits seem to be Deck Builder and SU Podium.
Depending on how they are written, extensions can need a quit/restart cycle to react to a change in activate/deactivate. In effect, SketchUp has to flush and reload its memory to get to the desired state.
There are techniques an extension author can use to tell SketchUp whether to respect the last state of a toolbar, to always open it, or to never open it as SketchUp starts. Good extensions do the first, but SketchUp can’t enforce it.
Each of those will have an RB file which sets up its Extension.
These are usually in the …/Users/…SketchUp/…/Plugins folder, but maybe the Podium on e
is in the …/ProgramData…/SketchUp/…/Plugins path ?
Read the files in Notepad++…
If the extension is ‘registered’ using something like…
It should then remember its status on a restart
Otherwise it could prove flaky…
I though this also depended on whether the extension’s code uses Toolbar#show vs Toolbar#restore
But that ‘Toolbar’ code is usually in the other ‘loader’ file[s] within the Extension’s subfolder ?
If the Extension is disabled it never gets to those files…
To correct that the ‘loader’ menu/toolbar code needs editing - but if it’s been encrypted you are screwed !
Otherwise in an RB file it’s something like:
TOOLBAR.restore if TOOLBAR.get_last_state.abs == 1 #TB_VISIBLE/NEVER
where in this example the reference to the toolbar is TOOLBAR etc, an remembers the toolbar’s last status…
BUT remember that editing any ‘signed’ RB files also breaks the Extension’s signing - so you then need set the Policy to Unrestricted…
The OP actually asked two questions: why doesn’t disable/enable “take” for certain extensions?, and why don’t toolbars stay closed if I closed them in the last session?.
You addressed the first. But is it really possible for an extension with load_on_start set true in its registrar code to override the Extension Manager’s enable/disable setting? That would be distressing, especially since the Ruby API documentation stresses that you should have a very good reason for ever setting this argument to false. I thought that the EM’s disable would prevent loading the rest of the code even though the registrar is loaded.
Regarding the second (which the OP confuses a bit by referring to View/Toolbars, which is View/Tool Palettes on Mac), of course an extension can’t show its palette if it doesn’t load. But if it does load, the extension can control whether its palette shows without regard to the state when SketchUp last quit - as you showed. And yes, if the extension is encrypted an end user can’t do anything about this behavior.