toggleToolbox

Toggle MATLAB toolboxes on or off
516 Downloads
Updated 27 May 2020

Utility to enable/disable MATLAB toolboxes.
S = TOGGLETOOLBOX()
S = TOGGLETOOLBOX('')
S = TOGGLETOOLBOX('all') queries the on/off states of all installed
toolboxes.

M = TOGGLETOOLBOX('names') returns the full names / directory names map
[M] applicable to the current MATLAB installation.

S = TOGGLETOOLBOX(toolbox, state) queries or sets the on/off state of the
MATLAB toolbox [toolbox] to [state]. The string or cellstring [toolbox] may
be equal to the toolbox' installation directory name (the same as used by
ver()), or the toolbox' full name. The string [state] may be one of 'on',
'off' or 'query'. The return argument [S] is a structure containing the
toolbox name(s) as fields, with the on/off state represented as true/false.

S = TOGGLETOOLBOX(..., permanency) for string [permanency] equal to
'permanent' will attempt to make the change persist between different
MATLAB sessions. For [permanency] equal to 'temporary' (the default), the
change will only last for the remainder of the current session.

TOGGLETOOLBOX(S0) will reset the on/off states of all toolboxes to the
states contained in [S0], where [S0] is a structure previously returned by
TOGGLETOOLBOX() as outlined above.

Disabling a toolbox is done by removing the relevant directories from the
MATLAB path. Since the order of the path is important for name resolution,
TOGGLETOOLBOX() attempts to keep the order of all paths as close to MATLAB's
startup path as possible. Calling TOGGLETOOLBOX() multiple times for different
toolboxes and arbitrary on/off states should not affect the overall path
order -- calling TOGGLETOOLBOX('all', 'on') afterwards results in a path
identical to the startup path.

Note that TOGGLETOOLBOX() generates a MAT file for both performance and
persistence between MATLAB sessions or across platforms. Please make sure
that TOGGLETOOLBOX() is located in a directory where it has write access.

EXAMPLE SESSION:

>> M = toggleToolbox('names')%
M =
'aero' 'Aerospace Toolbox'
'aeroblks' 'Aerospace Blockset'
'bioinfo' 'Bioinformatics Toolbox'
'comm' 'Communications Toolbox'
...

>> S = toggleToolbox({'Aerospace Toolbox' 'Wavelet Toolbox'}, 'query')
S =
aero: 1
wavelet: 1

>> w = ver('wavelet')
w =
Name: 'Wavelet Toolbox'
Version: '4.5'
Release: '(R2010a)'
Date: '25-Jan-2010'

>> S = toggleToolbox({'Aerospace Toolbox' 'Wavelet Toolbox'}, 'off');
>> toggleToolbox({'Aerospace Toolbox' 'Wavelet Toolbox'}, 'query')
ans =
aero: 0
wavelet: 0

>> w = ver('wavelet')
w =
0x0 struct array with fields:
Name
Version
Release
Date

>> toggleToolbox(S);
>> toggleToolbox({'Aerospace Toolbox' 'Wavelet Toolbox'}, 'query')
ans =
aero: 1
wavelet: 1

>> % Cross-platform developer mode:
>> S = toggleToolbox('all', 'off');

Cite As

Rody Oldenhuis (2024). toggleToolbox (https://github.com/rodyo/FEX-toggleToolbox/releases/tag/v1.2.0), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2010a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Manage Products in Help Center and MATLAB Answers
Acknowledgements

Inspired: toggleToolbox 5G

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes
1.2.0

See release notes for this release on GitHub: https://github.com/rodyo/FEX-toggleToolbox/releases/tag/v1.2.0

1.1.0.2

See release notes for this release on GitHub: https://github.com/rodyo/FEX-toggleToolbox/releases/tag/v1.1.0.2

1.1.0.1

No code changes; just updated the FEX page title

1.1.0.0

No code change; just added the PayPal link
Added somewhat more intuitive state names 'enable' and 'disable', rather than just 'on' and 'off'.

1.0.0.0

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.