Mathematica's unified architecture allows every aspect of
Mathematica's interface to be controlled and specified programmatically using the symbolic constructs and functions of the
Mathematica language.
Options — find option settings for any aspect of a notebook or the
Mathematica interface
SetOptions — set any of over a thousand possible options
$FrontEnd — symbolic object representing the complete
Mathematica front end
$FrontEndSession — symbolic object for the current
Mathematica session
CurrentValue — find dynamically updated interface values
FrontEndTokenExecute — execute a menu-like front end command
FrontEndExecute — send an expression to be executed by the front end