50
$\begingroup$

CurrentValue can be used to poll the state of numerous system values such as the mouse position. Its help page doesn't list all possible items, though. An item like "TooltipFontFamily" isn't listed but it works nevertheless:

In[49]:= CurrentValue["TooltipFontFamily"]    
Out[49]= "Segoe UI"

My question is: where can I find a (more) complete list of items that can be used with CurrentValue. Or, alternatively, how could I programmatically generate such a list?


EDIT

Based on John Fultz' answer I wrote the following:

Union[
 Flatten[
  Cases[
       Import[#], HoldPattern[CurrentValue[a_]] :> a, Infinity
       ] & /@ FileNames[#] & /@
   {
    FileNameJoin[{$InstallationDirectory, "SystemFiles", "FrontEnd", 
      "StyleSheets", "*.nb"}],
    FileNameJoin[{$InstallationDirectory, "SystemFiles", "FrontEnd", 
      "TextResources", "*.nb"}],
    FileNameJoin[{$InstallationDirectory, "SystemFiles", "FrontEnd", 
      "SystemResources", "*.nb"}]
    },
  2
  ]
 ]

and got this:

(*
==> 
{CommandKey, ControlKey, ControlsFontFamily, ControlsFontSize, 
 DefaultButtonSize, 
 DefaultNewGraphics, HyperlinkModifierKey, LicenseValid, MenuFontFamily, 
 MouseButtonTest, MouseClickCount, MouseOver, NotebookSelected, OptionKey, 
 PanelBackground, PanelFontFamily, PanelFontSize, ScreenArea, ShiftKey, 
 ToolbarBackground, TooltipFontFamily, TooltipFontSize, TooltipFrameMargins, 
 Enabled, Language, {ControlsFontSize, Large}, {ControlsFontSize, Medium}, 
 {ControlsFontSize, Small}, {SystemColor, DialogText},
 {SystemColor,DialogTextDisabled}, {SystemColor, MenuText}, 
 {SystemColor, Tooltip}, {SystemColor, TooltipFrame}, 
 {SystemColor, TooltipText}, {TaggingRules, Highlight}, 
 {ScreenRectangle, 1, 2}, {ScreenRectangle, 2, 2}}
*)

in addition to a message complaining about:

Syntax::sntufn: Unknown unicode longname NumberComma.

Other items known by CurrentValue (not in the list above) that were used in answers/comments here:

  • As per this comment by celtschk:

    {"Thickness", "Opacity", "Dashing", "FontFamily", "FontSize", "FontSlant",
     "FontWeight", "FontColor", "FontOpacity"}
    
$\endgroup$
  • 1
    $\begingroup$ given the comments to answers below I think a more interesting, and separate, general question would be how do you find out a list of all the built in option strings. $\endgroup$ – Mike Honeychurch Feb 6 '12 at 0:40
  • $\begingroup$ out of curiosity is anyone planning to ask Wolfram about how to find all these strings? I will but don't want to double up if someone else already has or is about to? $\endgroup$ – Mike Honeychurch Feb 6 '12 at 3:56
  • 1
    $\begingroup$ ok I logged the question -- finding all option strings/string options with tech support $\endgroup$ – Mike Honeychurch Feb 6 '12 at 9:08
  • $\begingroup$ @mike Thanks! Will you be reporting back here? $\endgroup$ – Sjoerd C. de Vries Feb 6 '12 at 11:38
  • 2
    $\begingroup$ @SjoerdC.deVries I got a fast reply: "Since these do not have any context like a symbol would, there isn't any real programmatic way of accumulating them. It's possible to scrape the documentation for these, but not very simply." ...but looks like John Fultz has provided a pointer below. $\endgroup$ – Mike Honeychurch Feb 6 '12 at 20:53
32
$\begingroup$

Other answers have already suggested ways of querying options. There's no way of systematically generating a list of all string values, but it's not too difficult to put together a list of all of the values which are used by Wolfram Research in Mathematica itself. If you look in the various files in these locations:

  • $InstallationDirectory/SystemFiles/FrontEnd/StyleSheets
  • $InstallationDirectory/SystemFiles/FrontEnd/TextResources
  • $InstallationDirectory/SystemFiles/FrontEnd/SystemResources

for instances of CurrentValue, you'll get a pretty good list of what is in active use by Wolfram Research developers at any given time. Most of the undocumented string values are created specifically to fulfill a purpose required by one of these files, so that's a pretty good list.

There may be a few others used directly by the kernel but not anywhere in these files, but if so, not many. Any undocumented string values which are not in use by the product somewhere are likely to be untested as well, so if you're tempted to complain that this list isn't absolutely complete, be careful what you wish for.

$\endgroup$
14
$\begingroup$

Perhaps: using

  systemnames = Names["System`*"];
  Select[systemnames, CurrentValue[#] =!= $Failed &];
  CurrentValue /@ % // Short
  (*
  ==> {False, {FrontEnd`FileName[{$UserBaseDirectory, "Autoload"}],  ... }
  *)

for the System` context, and replacing System with the appropriate context name for other members of the list Contexts[]?

$\endgroup$
  • 1
    $\begingroup$ +1 for the idea: asking the system is so much better than trusting the documentation :-). Unfortunately this will not find things that are only available as strings as the OPs example. My answer is even worse in that respect... $\endgroup$ – Albert Retey Feb 5 '12 at 23:34
  • $\begingroup$ Also very nice, but Cases[Names["System`*"],"TooltipFontFamily"] yields {}. $\endgroup$ – Sjoerd C. de Vries Feb 5 '12 at 23:40
  • $\begingroup$ @kguler I liked the example you removed in your latest edit. If you'd ask me I would have kept it. $\endgroup$ – Sjoerd C. de Vries Feb 6 '12 at 11:44
  • $\begingroup$ @Sjoerd, I was not quite sure if the example that I erased was correct; I wanted to make sure that it was not a fluke due to corruption in my ContextPath after trying to do too many things in a single session. I will check and update if can verify that it was correct. Meanwhile, I hope there will be a response from WR to Mike's logged question soon. $\endgroup$ – kglr Feb 6 '12 at 12:04
  • $\begingroup$ I didn't have mma available when I read your previous edit, but now that I have I don't see "TooltipFontFamily" in the Global` context; Context["TooltipFontFamily"] doesn't work as you showed. Come to think of it, can strings live in a context? $\endgroup$ – Sjoerd C. de Vries Feb 6 '12 at 18:07
14
$\begingroup$

These String items were directly read from the 10.0.2 Front End, including quite a few not listed elsewhere in this Q&A:

{"AltKey", "ByteCount", "CellChangeTimesList", "CellCount", "CellStyleName",
"CodeContext", "CommandKey", "ConnectedControllers", "ControlKey", "ControllerData",
"ControllerState", "ControlsFontFamily", "ControlsFontSize", "CounterValue",
"CurrentFormatTime", "CurrentLocatorPaneThumb", "DefaultButtonSize",
"DefaultHelpViewerWindowMargins", "DefaultHelpViewerWindowSize", "DefaultWindowSize",
"DialogCanClose", "DocumentAndWindowSize", "DocumentSize", "EventAbsoluteTime",
"EventData", "EventKey", "FontAscenderHeight", "FontAxisOffset", "FontCapHeight",
"FontDescenderDepth", "FontLineHeight", "FontLowercaseAscenderHeight", "FontMWidth",
"FontNWidth", "FontThickness", "FontXHeight", "FullScreenArea", "GraphicsSelectionType",
"HasHandwritingInput", "HasSystemFullScreenButton", "HasTouchscreen",
"HyperlinkModifierKey", "InternetConnectionAvailable", "KeyboardKeys",
"LicenseValid", "LocalFileSystemAccessAllowed", "MaxCounterValue",
"MenuFontFamily", "MenuFontSize", "ModifierKeys", "MouseButtons", "MouseButtonTest",
"MouseClickCount", "MouseOver", "MousePosition", "NetworkConnectionAvailable",
"NotebookDirectory", "NotebookEvaluationPending", "NotebookFileName",
"NotebookFullFileName", "NotebookSelected", "OptionKey", "PanelBackground",
"PanelFontFamily", "PanelFontSize", "PluginEnabled", "PluginParameters",
"PreferredHandedness", "PreviousFormatTime", "PrimaryScreenSize", "RightClickData",
"RunningEvaluator", "ScreenArea", "ScreenBitDepth", "ScreenInformation",
"ScreenResolution", "SelectionData", "SelectionOver", "ShiftKey",
"ShutdownSynchronization", "StoredWolframIdCredentials", "StyleDefinitions",
"SynchronizationType", "SyntaxColoringReasons", "SystemColor", "TimeUsed",
"ToolbarBackground", "TooltipFontFamily", "TooltipFontSize", "TooltipFrameMargins",
"TouchPosition", "UserInteractionEnabled", "WindowResolution",
"WolframCloudActivityQueueStatus", "WolframCloudConnected", "WolframCloudFullUserName",
"WolframCloudLoginError", "WolframCloudSyncState", "WolframCloudUILogin",
"WolframCloudUserName", "WolframCloudUserUUID", "WordCount"}

Using a modified version of Rojo's method, adapted to correctly handle appearances of the CurrentValue[obj, item] form, in Mathematica 10.0.2 these additional items not listed above were found:

{"AlignmentGuidesEnabled", "AllowDataUpdates", "AllowDocumentationUpdates",
"AllowDownloads", "AutoQuoteCharacters", "BlinkingCellInsertionPoint",
"CaseSensitiveCommandCompletion", "CellChangeTimeMergeInterval", "CodeAssistOptions",
"DebuggerSettings", "DefaultNewGraphics", "DialogSettings", "DisplayImagePixels",
"Graphics3DBoxOptionsClipPlanes", "Graphics3DBoxOptionsClipPlanesStyle",
"Graphics3DBoxOptionsImageSize", "Graphics3DBoxOptionsPlotRange",
"GraphicsBoxOptionsImageSize", "GraphicsBoxOptionsImageSizeRaw", "IsPersistent2DTool",
"MarkerAspectRatio", "MarkerLineThickness", "NotebookSecurityOptions",
"NotebooksMenuHistoryLength", "PasteAutoQuoteCharacters", "PersistentTools",
"PreferencesSettings", "Raster3DBoxOptionsPlotRange",
"Raster3DBoxOptionsPlotRangeClipPlanesStyle", "RasterExploreViewRange", "SelectedTool",
"ShowPredictiveInterface", "TrackCellChangeTimes", "VersionedPreferences",
"WolframCloudSettings", AutoMultiplicationSymbol, AutoNumberFormatting,
FrontEnd`AutoOpenPaclets, AutoStyleOptions, ButtonBoxOptions, cache,
CommonDefaultFormatTypes, ConversionOptions, FrontEnd`Current2DTool, DefaultNewCellStyle,
DigitBlock, DigitBlockMinimum, DragAndDrop, Enabled, Evaluatable, Evaluator,
EvaluatorNames, FindSettings, Graphics3DBoxOptions, HomePage, Language, Magnification,
MessageOptions, NewPrimitiveStyle, NotebookConvertSettings, NotebooksMenu,
NumberMultiplier, NumberPoint, NumberSeparator, option, OutputSizeLimit, PageFooterLines,
PageFooters, PageHeaderLines, PageHeaders, $CellContext`pos$$, PrintAction,
PrintingOptions, PrintingStartingPageNumber, PrintPrecision, PrivateFrontEndOptions,
PrivateNotebookOptions, RenderingOptions, FrontEnd`RightClickData, RulerUnits,
ScreenStyleEnvironment, ShowCellLabel, ShowCursorTracker, ShowGroupOpenCloseIcon,
ShowSyntaxStyles, StyleDefinitions, StyleNameDialogSettings, TaggingRules, Visible,
WindowMargins, WindowSize, WindowStatusArea, WindowTitle}

Further these item specifications were found, grouped by item:

{"AutoStyleOptions", "FormattingErrorTooltips"}
{"AutoStyleOptions", "HighlightComments"}
{"AutoStyleOptions", "HighlightEmphasizedSyntaxErrors"}
{"AutoStyleOptions", "HighlightExcessArguments"}
{"AutoStyleOptions", "HighlightFormattingErrors"}
{"AutoStyleOptions", "HighlightFunctionLocalVariables"}
{"AutoStyleOptions", "HighlightLocalScopeConflicts"}
{"AutoStyleOptions", "HighlightLocalVariables"}
{"AutoStyleOptions", "HighlightMissingArguments"}
{"AutoStyleOptions", "HighlightOrderOfEvaluationConflicts"}
{"AutoStyleOptions", "HighlightPatternVariables"}
{"AutoStyleOptions", "HighlightStrings"}
{"AutoStyleOptions", "HighlightSymbolShadowing"}
{"AutoStyleOptions", "HighlightSyntaxErrors"}
{"AutoStyleOptions", "HighlightUndefinedSymbols"}
{"AutoStyleOptions", "HighlightUnknownOptions"}
{"AutoStyleOptions", "HighlightUnwantedAssignments"}
{"AutoStyleOptions", "CommentStyle", FontColor}
{"AutoStyleOptions", "EmphasizedSyntaxErrorStyle", Background}
{"AutoStyleOptions", "EmphasizedSyntaxErrorStyle", FontColor}
{"AutoStyleOptions", "EmphasizedSyntaxErrorStyle", FontSize}
{"AutoStyleOptions", "ExcessArgumentStyle", FontColor}
{"AutoStyleOptions", "FunctionLocalVariableStyle", FontColor}
{"AutoStyleOptions", "LocalScopeConflictStyle", FontColor}
{"AutoStyleOptions", "LocalVariableStyle", FontColor}
{"AutoStyleOptions", "MissingArgumentStyle", FontColor}
{"AutoStyleOptions", "OrderOfEvaluationConflictStyle", FontColor}
{"AutoStyleOptions", "PatternVariableStyle", FontColor}
{"AutoStyleOptions", "PatternVariableStyle", FontSlant}
{"AutoStyleOptions", "StringStyle", FontColor}
{"AutoStyleOptions", "SymbolShadowingStyle", FontColor}
{"AutoStyleOptions", "SyntaxErrorStyle", FontColor}
{"AutoStyleOptions", "UndefinedSymbolStyle", FontColor}
{"AutoStyleOptions", "UnknownOptionStyle", FontColor}
{"AutoStyleOptions", "UnwantedAssignmentStyle", FontColor}


{"ButtonBoxOptions", ButtonData}


{"ByteCount", $CellContext`selectionOnly$$}


{"CellChangeTimesList", $CellContext`selectionOnly$$}


{"CellCount", False}
{"CellCount", True}


{"CodeAssistOptions", "AutoConvertEnable"}
{"CodeAssistOptions", "AutoPopupDelay"}
{"CodeAssistOptions", "AutoPopupEnable"}
{"CodeAssistOptions", "DynamicHighlighting"}
{"CodeAssistOptions", "FloatingElementDelay"}
{"CodeAssistOptions", "FloatingElementEnable"}
{"CodeAssistOptions", "HeadHighlightStyle", Background}
{"CodeAssistOptions", "MatchHighlightStyle", Background}


{"CommonDefaultFormatTypes", "Input"}
{"CommonDefaultFormatTypes", "Output"}


{"ControllerData", {"Gamepad", "Joystick", "Multi-AxisController"}}


{"ControlsFontSize", Large}
{"ControlsFontSize", Medium}
{"ControlsFontSize", Small}
{"ControlsFontSize", Tiny}


{"ConversionOptions", "ExportOptions", "BMP"}
{"ConversionOptions", "ExportOptions", "EPS"}
{"ConversionOptions", "ExportOptions", "GIF"}
{"ConversionOptions", "ExportOptions", "JPEG"}
{"ConversionOptions", "ExportOptions", "JPEG2000"}
{"ConversionOptions", "ExportOptions", "Package"}
{"ConversionOptions", "ExportOptions", "PDF"}
{"ConversionOptions", "ExportOptions", "PNM"}
{"ConversionOptions", "ExportOptions", "SVG"}
{"ConversionOptions", "ExportOptions", "TeX"}
{"ConversionOptions", "ExportOptions", "TIFF"}
{"ConversionOptions", "ExportOptions", "XHTML"}
{"ConversionOptions", "ExportOptions", "XHTMLMathML"}
{"ConversionOptions", "ImportOptions", "GIF"}
{"ConversionOptions", "ImportOptions", "JPEG"}
{"ConversionOptions", "ImportOptions", "Package"}
{"ConversionOptions", "ImportOptions", "PDF"}
{"ConversionOptions", "ImportOptions", "Text"}
{"ConversionOptions", "ImportOptions", "TIFF"}
{"ConversionOptions", "ExportOptions", "GIF", "Background"}
{"ConversionOptions", "ExportOptions", "GIF", "Transparency"}
{"ConversionOptions", "ExportOptions", "JPEG2000", "ImageEncoding"}
{"ConversionOptions", "ExportOptions", "TIFF", "ColorSeparation"}
{"ConversionOptions", "ExportOptions", "TIFF", "DifferencePredictor"}
{"ConversionOptions", "ExportOptions", "XHTML", "ConvertClosed"}
{"ConversionOptions", "ExportOptions", "XHTML", "ConvertReverseClosed"}
{"ConversionOptions", "ExportOptions", "XHTML", "CSSFile"}
{"ConversionOptions", "ExportOptions", "XHTML", "CSSInclude"}
{"ConversionOptions", "ExportOptions", "XHTML", "CSSRadio"}
{"ConversionOptions", "ExportOptions", "XHTML", "MathOutput"}
{"ConversionOptions", "ExportOptions", "XHTMLMathML", "ConvertClosed"}
{"ConversionOptions", "ExportOptions", "XHTMLMathML", "ConvertReverseClosed"}
{"ConversionOptions", "ExportOptions", "XHTMLMathML", "CSSFile"}
{"ConversionOptions", "ExportOptions", "XHTMLMathML", "CSSInclude"}
{"ConversionOptions", "ExportOptions", "XHTMLMathML", "CSSRadio"}
{"ConversionOptions", "ImportOptions", "PDF", "Editable"}
{"ConversionOptions", "ImportOptions", "PDF", "Pages"}
{"ConversionOptions", "ImportOptions", "Text", "ReadingType"}


{"CounterValue", "SlideShowNavigationBar"}


{"DebuggerSettings", "BreakOnAllMessages"}
{"DebuggerSettings", "BreakOnAsserts"}
{"DebuggerSettings", "BreakpointsGroup"}
{"DebuggerSettings", "DebuggerEnabled"}
{"DebuggerSettings", "HighlightBreakpoints"}
{"DebuggerSettings", "HighlightEvaluatorPosition"}
{"DebuggerSettings", "HighlightStackFrames"}
{"DebuggerSettings", "MessageBreakpointsGroup"}
{"DebuggerSettings", "ShowBreakpoints"}
{"DebuggerSettings", "ShowStack"}
{"DebuggerSettings", "WatchpointsGroup"}
{"DebuggerSettings", "BreakpointStyle", Background}
{"DebuggerSettings", "BreakpointStyle", FontColor}
{"DebuggerSettings", "EvaluatorPositionHighlightStyle", Background}
{"DebuggerSettings", "EvaluatorPositionHighlightStyle", FontColor}
{"DebuggerSettings", "StackHighlightStyle", Background}
{"DebuggerSettings", "StackHighlightStyle", FontColor}


{"DialogSettings", "Install", "Type"}


{"DigitBlock", 1}
{"DigitBlock", 2}


{"DigitBlockMinimum", 1}
{"DigitBlockMinimum", 2}


{"FindSettings", "FindBoxes"}
{"FindSettings", "FindHistory"}
{"FindSettings", "IgnoreCase"}
{"FindSettings", "ReplaceBoxes"}
{"FindSettings", "ReplaceHistory"}
{"FindSettings", "WholeWord"}
{"FindSettings", "Wraparound"}
{"FindSettings", WindowMargins}
{"FindSettings", WindowOpacity}
{"FindSettings", WindowSize}


{"Graphics3DBoxOptions", "RotationAction"}


{"Graphics3DBoxOptionsClipPlanes", $CellContext`i$}
{"Graphics3DBoxOptionsClipPlanes", $CellContext`j$}
{"Graphics3DBoxOptionsClipPlanes", $CellContext`i$, 4}
{"Graphics3DBoxOptionsClipPlanes", $CellContext`j$, 4}


{"Graphics3DBoxOptionsClipPlanesStyle", $CellContext`i$}
{"Graphics3DBoxOptionsClipPlanesStyle", $CellContext`j$}


{"MaxCounterValue", "SlideShowNavigationBar"}


{"MessageOptions", "CompatibilityToolWarning"}
{"MessageOptions", "ConsoleMessageAction"}
{"MessageOptions", "ErrorAction"}
{"MessageOptions", "KernelMessageAction"}
{"MessageOptions", "WarningAction"}


{"ModifierKeys", "Command"}


{"NewPrimitiveStyle", Arrowheads}
{"NewPrimitiveStyle", Background}
{"NewPrimitiveStyle", CapForm}
{"NewPrimitiveStyle", Dashing}
{"NewPrimitiveStyle", DrawEdges}
{"NewPrimitiveStyle", DrawFrontFaces}
{"NewPrimitiveStyle", EdgeCapForm}
{"NewPrimitiveStyle", EdgeColor}
{"NewPrimitiveStyle", EdgeDashing}
{"NewPrimitiveStyle", EdgeJoinForm}
{"NewPrimitiveStyle", EdgeOpacity}
{"NewPrimitiveStyle", EdgeThickness}
{"NewPrimitiveStyle", FontColor}
{"NewPrimitiveStyle", FontFamily}
{"NewPrimitiveStyle", FontOpacity}
{"NewPrimitiveStyle", FontSize}
{"NewPrimitiveStyle", FontSlant}
{"NewPrimitiveStyle", FontWeight}
{"NewPrimitiveStyle", FrontFaceColor}
{"NewPrimitiveStyle", FrontFaceOpacity}
{"NewPrimitiveStyle", GraphicsColor}
{"NewPrimitiveStyle", JoinForm}
{"NewPrimitiveStyle", LineColor}
{"NewPrimitiveStyle", LineOpacity}
{"NewPrimitiveStyle", Opacity}
{"NewPrimitiveStyle", PointSize}
{"NewPrimitiveStyle", TextAlignment}
{"NewPrimitiveStyle", TextJustification}
{"NewPrimitiveStyle", Thickness}
{"NewPrimitiveStyle", FontVariations, "Underline"}
{"NewPrimitiveStyle", InsetBoxOptions, Alignment}
{"NewPrimitiveStyle", RectangleBoxOptions, RoundingRadius}
{"NewPrimitiveStyle", InsetBoxOptions, Alignment, 2}


{"NotebookConvertSettings", "GenerateBitmapCaches"}
{"NotebookConvertSettings", "InputToStandardForm"}
{"NotebookConvertSettings", "OutputToStandardForm"}
{"NotebookConvertSettings", "PreserveStyleSheet"}


{"NotebookSecurityOptions", "TrustByDefault"}
{"NotebookSecurityOptions", str}


{"PageFooterLines", 1}
{"PageFooterLines", 2}
{"PageFooterLines", $CellContext`currentPage$$}


{"PageFooters", 1, 1}
{"PageFooters", 1, 2}
{"PageFooters", 1, 3}
{"PageFooters", 2, 1}
{"PageFooters", 2, 2}
{"PageFooters", 2, 3}
{"PageFooters", 2, $CellContext`currentPosition$$[2, "Footer"]}
    {"PageFooters", $CellContext`currentPage$$, $CellContext`currentPosition$$[$CellContext`currentPage$$, "Footer"]}


{"PageHeaderLines", 1}
{"PageHeaderLines", 2}
{"PageHeaderLines", $CellContext`currentPage$$}


{"PageHeaders", 1, 1}
{"PageHeaders", 1, 2}
{"PageHeaders", 1, 3}
{"PageHeaders", 2, 1}
{"PageHeaders", 2, 2}
{"PageHeaders", 2, 3}
{"PageHeaders", 2, $CellContext`currentPosition$$[2, "Header"]}
    {"PageHeaders", $CellContext`currentPage$$, $CellContext`currentPosition$$[$CellContext`currentPage$$, "Header"]}


{"PreferencesSettings", "Page"}
{"PreferencesSettings", "UseTextFormattingWhenConvertingInput"}
{"PreferencesSettings", "UseTextFormattingWhenConvertingOutput"}


{"PrintingOptions", "FacingPages"}
{"PrintingOptions", "FirstPageFace"}
{"PrintingOptions", "FirstPageFooter"}
{"PrintingOptions", "FirstPageHeader"}
{"PrintingOptions", "OpacityRenderingMethod"}
{"PrintingOptions", "RasterizationResolution"}
{"PrintingOptions", "VertexColorRenderingMethod"}


{"PrivateFrontEndOptions", "LastRegistrationReminderDate"}
{"PrivateFrontEndOptions", "LicensesAgreed"}
{"PrivateFrontEndOptions", "ShowAtStartup"}
{"PrivateFrontEndOptions", "WolframAlphaSettings"}
{"PrivateFrontEndOptions", "WolframAlphaSettings", "BaseURL"}
{"PrivateFrontEndOptions", "WolframAlphaSettings", "SendMathematicaSessionInfo"}
{"PrivateFrontEndOptions", "DialogSettings", "DrawingTools", "ArrowsOpener"}
{"PrivateFrontEndOptions", "DialogSettings", "DrawingTools", "FillOpener"}
{"PrivateFrontEndOptions", "DialogSettings", "DrawingTools", "OperationsOpener"}
{"PrivateFrontEndOptions", "DialogSettings", "DrawingTools", "PointsOpener"}
{"PrivateFrontEndOptions", "DialogSettings", "DrawingTools", "RectanglesOpener"}
{"PrivateFrontEndOptions", "DialogSettings", "DrawingTools", "SettingsOpener"}
{"PrivateFrontEndOptions", "DialogSettings", "DrawingTools", "StrokeOpener"}
{"PrivateFrontEndOptions", "DialogSettings", "DrawingTools", "TextOpener"}
{"PrivateFrontEndOptions", "DialogSettings", "DrawingTools", "ToolsOpener"}
{"PrivateFrontEndOptions", "DialogSettings", "DrawingTools", WindowMargins}
{"PrivateFrontEndOptions", "DialogSettings", "HeadersFooters", "DateFormat"}
{"PrivateFrontEndOptions", "DialogSettings", "HeadersFooters", "Dialogs"}
{"PrivateFrontEndOptions", "DialogSettings", "HeadersFooters", "PageNumberFormat"}
{"PrivateFrontEndOptions", "DialogSettings", "InsertCitation", WindowMargins}
{"PrivateFrontEndOptions", "DialogSettings", "InsertCitation", WindowSize}
{"PrivateFrontEndOptions", "DialogSettings", "InsertCitationNote", WindowMargins}
{"PrivateFrontEndOptions", "DialogSettings", "InsertCitationNote", WindowSize}
{"PrivateFrontEndOptions", "DialogSettings", "Install", "Source"}
{"PrivateFrontEndOptions", "DialogSettings", "Install", "Type"}
{"PrivateFrontEndOptions", "InterfaceSettings", "ImageEditingToolbar", "QueryHistory"}
{"PrivateFrontEndOptions", "DialogSettings", "Preferences", "SubTabs", "Appearance"}
{"PrivateFrontEndOptions", "DialogSettings", "Preferences", "SubTabs", "SyntaxColoring"}


{"PrivateNotebookOptions", "FinalWindowPrompt"}
{"PrivateNotebookOptions", "JournalStyle"}
{"PrivateNotebookOptions", "NoteStyle"}
{"PrivateNotebookOptions", "SafeFileOpen"}
{"PrivateNotebookOptions", "VersionedStylesheet"}


{"Raster3DBoxOptionsPlotRange", $CellContext`i$}
{"Raster3DBoxOptionsPlotRange", $CellContext`i$, 1}
{"Raster3DBoxOptionsPlotRange", $CellContext`i$, 2}


{"RenderingOptions", "HardwareAntialiasingQuality"}


{"SystemColor", "DialogText"}
{"SystemColor", "DialogTextDisabled"}
{"SystemColor", "Menu"}
{"SystemColor", "MenuText"}
{"SystemColor", "Tooltip"}
{"SystemColor", "TooltipFrame"}
{"SystemColor", "TooltipText"}


{"TaggingRules", "ActivationState"}
{"TaggingRules", "ColorType"}
{"TaggingRules", "DefaultWindowSize"}
{"TaggingRules", "DisableController"}
{"TaggingRules", "ErrorMessage"}
{"TaggingRules", "ExampleCounter"}
{"TaggingRules", "FoundExpression"}
{"TaggingRules", "Highlight"}
{"TaggingRules", "Image3DEditor"}
{"TaggingRules", "ImageEditor"}
{"TaggingRules", "index"}
{"TaggingRules", "InputNotebook"}
{"TaggingRules", "length"}
{"TaggingRules", "NotebookID"}
{"TaggingRules", ScrollPosition}
{"TaggingRules", WindowSize}
{"TaggingRules", "SlideshowSettings", "Toolbar"}
{"TaggingRules", "SlideshowSettings", "WindowElements"}


{"WindowSize", 1}
{"WindowSize", 2}


{"WolframCloudSettings", "ActivityMonitorWindowMargins"}
{"WolframCloudSettings", "ActivityMonitorWindowSize"}
{"WolframCloudSettings", "OpenDialogWindowMargins"}
{"WolframCloudSettings", "OpenDialogWindowSize"}
{"WolframCloudSettings", "SaveDialogWindowMargins"}
{"WolframCloudSettings", "SaveDialogWindowSize"}
$\endgroup$
  • $\begingroup$ Thanks! It might be useful if you could add how you arrived at this list. $\endgroup$ – Sjoerd C. de Vries Jan 9 '15 at 13:08
  • 4
    $\begingroup$ @Sjoerd A bit of light reading in my spare time; I opened Mathematica.exe in Notepad. =D $\endgroup$ – Mr.Wizard Jan 9 '15 at 14:01
  • $\begingroup$ @SjoerdC.deVries aren't you reading .exe files in your spare time? :) $\endgroup$ – Kuba Jan 14 '15 at 7:56
11
$\begingroup$

To my understanding CurrentValue adds an alternative syntax to what Options and SetOptions provide for the frontend and notebooks. So in addition to what's documented I think Options[$FrontEnd] and Options[Notebook] would be a good starting point. These are what I usually consult when searching for something.

$\endgroup$
  • $\begingroup$ That certainly yields a lot of options but the example I gave ("TooltipFontFamily") is not among them. That suggests there must be more options to be found than only those. In those list most of the options are not strings BTW, whereas most of the values listed in the CurrentValue doc page are strings. $\endgroup$ – Sjoerd C. de Vries Feb 5 '12 at 23:36
  • 2
    $\begingroup$ @SjoerdC.deVries: you are absolutely right about the fact that my list is not complete, and I know that very well. You should keep in mind that many options can nowadays be given as strings or as a symbol, try e.g. CurrentValue[AutoIndent] vs. CurrentValue["AutoIndent"]. Something that is also not clear to me is why there is a TooltipBoxOptions -> {"DefaultLabelStyle" -> "TooltipLabel"} and CurrentValue["TooltipFontFamily"] and if and how they are connected. Looks like a rich field for experiments... $\endgroup$ – Albert Retey Feb 5 '12 at 23:47
9
$\begingroup$

Basing on Sjoerds self answer, you were missing the subdirectories. I added that and the tr files (don't know if it was worth something). Probably I'm missing some others because this doesn't check box structures, but it does get a few extras

fnames = FileNames[
   "*.nb" | 
    "*.tr", {FileNameJoin[{$InstallationDirectory, "SystemFiles", 
      "FrontEnd", "StyleSheets"}], 
    FileNameJoin[{$InstallationDirectory, "SystemFiles", "FrontEnd", 
      "TextResources"}], 
    FileNameJoin[{$InstallationDirectory, "SystemFiles", "FrontEnd", 
      "SystemResources"}]}, Infinity];

fimps = Import[#, "Text"] & /@ fnames;

DeleteDuplicates@
     Flatten@StringCases[fimps, 
       Shortest[
        "CurrentValue[" ~~ (i___ /; 
           SameQ @@ (StringCount[i, #] & /@ {"[", "]"})) ~~ "]"]] // 
    StringReplace[#, Whitespace -> ""] & // 
   MakeExpression[#, StandardForm][[1, 1]] & /@ # & // 
  DeleteDuplicates//Sort

You get

{
 {"CellCount"},
 {"CommandKey"},
 {"ControlKey"},
 {"ControlsFontFamily"},
 {"ControlsFontSize"},
 {"CurrentFormatTime"},
 {"DefaultButtonSize"},
 {"DefaultNewGraphics"},
 {"GraphicsBoxOptionsImageSizeRaw"},
 {"HyperlinkModifierKey"},
 {"LicenseValid"},
 {"Magnification"},
 {"MenuFontFamily"},
 {"MouseButtonTest"},
 {"MouseClickCount"},
 {"MouseOver"},
 {"MousePosition"},
 {"NotebookFileName"},
 {"NotebookSelected"},
 {"OptionKey"},
 {"PanelBackground"},
 {"PanelFontFamily"},
 {"PanelFontSize"},
 {"PluginEnabled"},
 {"PreviousFormatTime"},
 {"ScreenArea"},
 {"SelectionData"},
 {"SelectionOver"},
 {"ShiftKey"},
 {"ToolbarBackground"},
 {"TooltipFontFamily"},
 {"TooltipFontSize"},
 {"TooltipFrameMargins"},
 {"WindowSize"},
 {dialog},
 {Enabled},
 {HomePage},
 {Inherited},
 {$CellContext`inputnb$$},
 {Language},
 {Magnification},
 {nb},
 {$CellContext`nb$},
 {$CellContext`nb$$},
 {FrontEnd`SelectionObject},
 {target},
 {WindowFrame},
 {WindowSize},
 {WindowTitle},
 {FrontEnd`$ActivationDialog},
 {$Failed},
 {FrontEnd`$FrontEnd},
 {FrontEnd`ButtonNotebook[]},
 {FrontEnd`EvaluationNotebook[]},
 {FrontEndObject[
   LinkObject["2t2_shm", 1, 1]]},
 {FrontEnd`InputNotebook[]},
 {{"ControllerData", {"Gamepad", "Joystick", "Multi-AxisController"}}},
 {{"ControlsFontSize", Large}},
 {{"ControlsFontSize", Medium}},
 {{"ControlsFontSize", Small}},
 {{"ControlsFontSize", Tiny}},
 {{"ControlsFontSize", #5}},
 {{"CounterValue", "SlideShowNavigationBar"}},
 {{"MaxCounterValue", "SlideShowNavigationBar"}},
 {{"ModifierKeys", "Command"}},
 {{"SystemColor", "DialogText"}},
 {{"SystemColor", "DialogTextDisabled"}},
 {{"SystemColor", "MenuText"}},
 {{"SystemColor", "Tooltip"}},
 {{"SystemColor", "TooltipFrame"}},
 {{"SystemColor", "TooltipText"}},
 {{ButtonBoxOptions, ButtonData}},
 {{TaggingRules, "Highlight"}},
 {{WindowSize, 1}},
 {{WindowSize, 2}},
 {{"ScreenRectangle", 1, 2}},
 {{"ScreenRectangle", 2, 2}},
 {{ConversionOptions, "ImportOptions", "PDF", "Editable"}},
 {{ConversionOptions, "ImportOptions", "PDF", "Pages"}},
 {NotebookObject[
   FrontEndObject[
    LinkObject["2t2_shm", 1, 1]], 193]},
 {target_},
 {#1}
}
$\endgroup$
8
$\begingroup$

In addition to the other very useful answers, I'd like to start a collection of links to posts mentioning interesting CurrentValue items:

$\endgroup$
5
$\begingroup$

The secrets can be revealed by examining strings in the executable file:

$ cd /usr/local/Wolfram/Mathematica/11.0
$ cd SystemFiles/FrontEnd/Binaries/Linux-x86-64
$ strings Mathematica | grep 'CurrentValue'

Output:

FrontEnd`AbsoluteCurrentValue
FrontEnd`CurrentValue
FrontEnd`Private`SetCurrentValue
FrontEnd`CurrentValue`AltKey
FrontEnd`CurrentValue`CurrentLocatorPaneThumb
FrontEnd`CurrentValue`EventAbsoluteTime
FrontEnd`CurrentValue`EventData
FrontEnd`CurrentValue`ModifierKeys
FrontEnd`CurrentValue`ShiftKey
FrontEnd`CurrentValue`ControlKey
FrontEnd`CurrentValue`CommandKey
FrontEnd`CurrentValue`OptionKey
FrontEnd`CurrentValue`HyperlinkModifierKey
FrontEnd`CurrentValue`MousePosition
FrontEnd`CurrentValue`TouchPosition
FrontEnd`CurrentValue`MouseButtons
FrontEnd`CurrentValue`MouseButtonTest
FrontEnd`CurrentValue`MouseClickCount
FrontEnd`CurrentValue`EventKey
FrontEnd`CurrentValue`MouseOver
FrontEnd`CurrentValue`KeyboardKeys
FrontEnd`CurrentValue`RightClickData
FrontEnd`CurrentValue`SelectionData
FrontEnd`CurrentValue`GraphicsSelectionType
FrontEnd`CurrentValue`SelectionOver
FrontEnd`CurrentValue`NotebookFileName
FrontEnd`CurrentValue`NotebookFullFileName
FrontEnd`CurrentValue`NotebookDirectory
FrontEnd`CurrentValue`NotebookSelected
FrontEnd`CurrentValue`RunningEvaluator
FrontEnd`CurrentValue`NotebookModified
FrontEnd`CurrentValue`FontThickness
FrontEnd`CurrentValue`FontMWidth
FrontEnd`CurrentValue`FontNWidth
FrontEnd`CurrentValue`FontXHeight
FrontEnd`CurrentValue`FontAxisOffset
FrontEnd`CurrentValue`FontLineHeight
FrontEnd`CurrentValue`FontCapHeight
FrontEnd`CurrentValue`FontAscenderHeight
FrontEnd`CurrentValue`FontLowercaseAscenderHeight
FrontEnd`CurrentValue`FontDescenderDepth
FrontEnd`CurrentValue`CellStyleName
FrontEnd`CurrentValue`DocumentSize
FrontEnd`CurrentValue`DocumentAndWindowSize
FrontEnd`CurrentValue`ControlsFontFamily
FrontEnd`CurrentValue`ControlsFontSize
FrontEnd`CurrentValue`PanelFontFamily
FrontEnd`CurrentValue`PanelFontSize
FrontEnd`CurrentValue`PanelBackground
FrontEnd`CurrentValue`ToolbarBackground
FrontEnd`CurrentValue`TooltipFontFamily
FrontEnd`CurrentValue`TooltipFontSize
FrontEnd`CurrentValue`TooltipFrameMargins
FrontEnd`CurrentValue`MenuFontFamily
FrontEnd`CurrentValue`MenuFontSize
FrontEnd`CurrentValue`SystemColor
FrontEnd`CurrentValue`PrimaryScreenSize
FrontEnd`CurrentValue`DefaultWindowSize
FrontEnd`CurrentValue`DefaultHelpViewerWindowSize
FrontEnd`CurrentValue`DefaultHelpViewerWindowMargins
FrontEnd`CurrentValue`HasSystemFullScreenButton
FrontEnd`CurrentValue`CellCount
FrontEnd`CurrentValue`WordCount
FrontEnd`CurrentValue`ByteCount
FrontEnd`CurrentValue`CellChangeTimesList
FrontEnd`CurrentValue`SyntaxColoringReasons
FrontEnd`CurrentValue`CodeContext
FrontEnd`CurrentValue`TimeUsed
FrontEnd`CurrentValue`CounterValue
FrontEnd`CurrentValue`MaxCounterValue
FrontEnd`CurrentValue`StyleDefinitions
FrontEnd`CurrentValue`DefaultButtonSize
FrontEnd`CurrentValue`ConnectedControllers
FrontEnd`CurrentValue`ControllerState
FrontEnd`CurrentValue`ControllerData
FrontEnd`CurrentValue`CurrentFormatTime
FrontEnd`CurrentValue`PreviousFormatTime
FrontEnd`CurrentValue`PreferredHandedness
FrontEnd`CurrentValue`HasTouchscreen
FrontEnd`CurrentValue`HasHandwritingInput
FrontEnd`CurrentValue`NotebookEvaluationPending
FrontEnd`CurrentValue`UserInteractionEnabled
FrontEnd`CurrentValue`PluginEnabled
FrontEnd`CurrentValue`PluginParameters
FrontEnd`CurrentValue`ScreenInformation
FrontEnd`CurrentValue`ScreenArea
FrontEnd`CurrentValue`FullScreenArea
FrontEnd`CurrentValue`ScreenBitDepth
FrontEnd`CurrentValue`ScreenResolution
FrontEnd`CurrentValue`WindowResolution
FrontEnd`CurrentValue`NetworkConnectionAvailable
FrontEnd`CurrentValue`InternetConnectionAvailable
FrontEnd`CurrentValue`ShutdownSynchronization
FrontEnd`CurrentValue`SynchronizationType
FrontEnd`CurrentValue`WolframCloudSyncState
FrontEnd`CurrentValue`WolframCloudActivityQueueStatus
FrontEnd`CurrentValue`WolframCloudUILogin
FrontEnd`CurrentValue`StoredWolframIdCredentials
FrontEnd`CurrentValue`WolframCloudConnected
FrontEnd`CurrentValue`WolframCloudUserName
FrontEnd`CurrentValue`WolframCloudFullUserName
FrontEnd`CurrentValue`WolframCloudUserUUID
FrontEnd`CurrentValue`WolframCloudLoginError
FrontEnd`CurrentValue`PendingWolframCloudTasks
FrontEnd`CurrentValue`DialogCanClose
FrontEnd`CurrentValue`LocalFileSystemAccessAllowed
FrontEnd`CurrentValue`LicenseValid
FrontEnd`CurrentValue`ImageSizeMultiplier
$\endgroup$
  • $\begingroup$ What are the chances of this working on a non-Linux OS? $\endgroup$ – m_goldberg Aug 24 '16 at 5:28
  • $\begingroup$ @m_goldberg for OS X, it is cd /Applications/Mathematica.app/Contents/MacOS and strings Mathematica | grep 'CurrentValue' $\endgroup$ – Jacob Akkerboom Aug 24 '16 at 13:47
  • $\begingroup$ @JacobAkkerboom. Doesn't work for me. man strings returns No manual entry for strings. The strings command line utility doesn't seem to be installed on my system (OS X 10.10.2). $\endgroup$ – m_goldberg Aug 25 '16 at 0:35
  • $\begingroup$ @m_goldberg Ah then it must be new in 10.11 (which strings gives /usr/bin/strings for me, showing that it is in a system directory, so it's not something I downloaded myself. man strings also works here. $\endgroup$ – Jacob Akkerboom Aug 25 '16 at 7:58
  • $\begingroup$ And strings for Windows download is here: docs.microsoft.com/en-us/sysinternals/downloads/strings $\endgroup$ – kkm Jul 4 '18 at 2:49
5
$\begingroup$

Since many people seem to be looking through files in text editors I thought I'd give a way to scrape this data automatically (it should work for any kind of expression you want, as long as it's in a .m or .nb file):

I've used this for a bunch of stuff now. First, a function to get all files of a certain spec in the installation directory:

InternalFiles[namePattern_,
  directoryExtensions___,depth:_Integer|\[Infinity]:\[Infinity]]:=
    FileNames[namePattern,
        FileNameJoin@{
            $InstallationDirectory,
            directoryExtensions
            },
        depth];

Then scrape expressions from this:

expressionsSearch[files_, pat_] :=
  Table[
    f -> Quiet@
      Cases[
       Switch[FileExtension@f,
        "m" | "wl",
        Import[f, "HeldExpressions"],
        _,
        Import[f]
        ],
       pat,
       \[Infinity]
       ],
    {f, Replace[files,
      Except@_List :> InternalFiles[files]
      ]}
    ] // DeleteDuplicates;

I used this on CurrentValue as such:

curValsExprs =
  expressionsSearch["*.m" | "*.nb",
   c : (_CurrentValue) :> Hold[c]];

Which gave me a massive list of returns, which I normalized some.

Here's the list of single argument CurrentValue calls:

Hold[CurrentValue["AllowDownloads"]],
Hold[CurrentValue["AltKey"]],
Hold[CurrentValue["CommandKey"]],
Hold[CurrentValue["ControlKey"]],
Hold[CurrentValue["ControlsFontFamily"]],
Hold[CurrentValue["ControlsFontSize"]],
Hold[CurrentValue["CurrentFormatTime"]],
Hold[CurrentValue["CurrentLocatorPaneThumb"]],
Hold[CurrentValue["DefaultButtonSize"]],
Hold[CurrentValue["DefaultNewGraphics"]],
Hold[CurrentValue["DynamicEvaluation"]],
Hold[CurrentValue["Evaluator"]],
Hold[CurrentValue["FontCapHeight"]],
Hold[CurrentValue["FontMWidth"]],
Hold[CurrentValue["HyperlinkModifierKey"]],
Hold[CurrentValue["InternetConnectionAvailable"]],
Hold[CurrentValue["LicenseValid"]],
Hold[CurrentValue["LocalFileSystemAccessAllowed"]],
Hold[CurrentValue["Magnification"]],
Hold[CurrentValue["MenuFontFamily"]],
Hold[CurrentValue["MenuFontSize"]],
Hold[CurrentValue["ModifierKeys"]],
Hold[CurrentValue["MouseButtons"]],
Hold[CurrentValue["MouseButtonTest"]],
Hold[CurrentValue["MouseClickCount"]],
Hold[CurrentValue["MouseOver"]],
Hold[CurrentValue["NotebookSelected"]],
Hold[CurrentValue["OptionKey"]],
Hold[CurrentValue["PanelBackground"]],
Hold[CurrentValue["PanelFontFamily"]],
Hold[CurrentValue["PanelFontSize"]],
Hold[CurrentValue["PluginEnabled"]],
Hold[CurrentValue["PreviousFormatTime"]],
Hold[CurrentValue["RunningEvaluator"]],
Hold[CurrentValue["SelectionData"]],
Hold[CurrentValue["SelectionOver"]],
Hold[CurrentValue["ShiftKey"]],
Hold[CurrentValue["SynchronizationType"]],
Hold[CurrentValue["SynchronousEvaluation"]],
Hold[CurrentValue["ToolbarBackground"]],
Hold[CurrentValue["TooltipFontFamily"]],
Hold[CurrentValue["TooltipFontSize"]],
Hold[CurrentValue["TooltipFrameMargins"]],
Hold[CurrentValue["UserInteractionEnabled"]],
Hold[CurrentValue["WindowSize"]],
Hold[CurrentValue["WolframCloudActivityQueueStatus"]],
Hold[CurrentValue["WolframCloudConnected"]],
Hold[CurrentValue["WolframCloudLoginError"]],
Hold[CurrentValue["WolframCloudUILogin"]],
Hold[CurrentValue[Enabled]],
Hold[CurrentValue[Evaluatable]],
Hold[CurrentValue[FontColor]],
Hold[CurrentValue[Language]]

Here are the ones that come as a list of arguments:

Hold[CurrentValue[{"ControllerData",{"Gamepad","Joystick","Multi-Axis Controller"}}]],
Hold[CurrentValue[{"ControlsFontSize",Large}]],
Hold[CurrentValue[{"ControlsFontSize",Medium}]],
Hold[CurrentValue[{"ControlsFontSize",Small}]],
Hold[CurrentValue[{"SystemColor","DialogText"}]],
Hold[CurrentValue[{"SystemColor","DialogTextDisabled"}]],
Hold[CurrentValue[{"SystemColor","Menu"}]],
Hold[CurrentValue[{"SystemColor","MenuText"}]],
Hold[CurrentValue[{"SystemColor","Tooltip"}]],
Hold[CurrentValue[{"SystemColor","TooltipFrame"}]],
Hold[CurrentValue[{"SystemColor","TooltipText"}]],
Hold[CurrentValue[{GraphicsBoxOptions,AxesStyle}]],
Hold[CurrentValue[{GraphicsBoxOptions,LabelStyle}]],
Hold[CurrentValue[{GraphicsBoxOptions,TicksStyle}]],
Hold[CurrentValue[{StyleDefinitions,"EntityFrame"}]],
Hold[CurrentValue[{StyleDefinitions,"EntityFrameless"}]],
Hold[CurrentValue[{StyleDefinitions,"GeneralizedEntityToggleLabeled"}]],
Hold[CurrentValue[{StyleHints,"CodeFont"}]],
Hold[CurrentValue[{TaggingRules,"ModificationHighlight"}]],
Hold[CurrentValue[{"MousePosition","Graphics",{0,0}}]],
Hold[CurrentValue[{ScreenRectangle,1,2}]],
Hold[CurrentValue[{ScreenRectangle,2,2}]],
Hold[CurrentValue[{TaggingRules,"values","subvalues"}]]

Here are those that occur with an object (I put in FEObject which stands for $FrontEnd, $FrontEndSession, NotebookObject, CellObject, or `BoxObject) plus a single argument that isn't found in the single argument list:

Hold[CurrentValue[FEObject,"3DPrintPreviewerApplication"]],
Hold[CurrentValue[FEObject,"AddOnHelpPath"]],
Hold[CurrentValue[FEObject,"AlignmentGuidesEnabled"]],
Hold[CurrentValue[FEObject,"AllowDataUpdates"]],
Hold[CurrentValue[FEObject,"AllowDocumentationUpdates"]],
Hold[CurrentValue[FEObject,"AllowExternalChannelFunctions"]],
Hold[CurrentValue[FEObject,"AutoQuoteCharacters"]],
Hold[CurrentValue[FEObject,"CaseSensitiveCommandCompletion"]],
Hold[CurrentValue[FEObject,"CellChangeTimeMergeInterval"]],
Hold[CurrentValue[FEObject,"CodeContext"]],
Hold[CurrentValue[FEObject,"Current2DTool"]],
Hold[CurrentValue[FEObject,"DialogCanClose"]],
Hold[CurrentValue[FEObject,"DisplayImagePixels"]],
Hold[CurrentValue[FEObject,"FontSize"]],
Hold[CurrentValue[FEObject,"Graphics3DBoxOptionsClipPlanes"]],
Hold[CurrentValue[FEObject,"Graphics3DBoxOptionsClipPlanesStyle"]],
Hold[CurrentValue[FEObject,"Graphics3DBoxOptionsImageSize"]],
Hold[CurrentValue[FEObject,"Graphics3DBoxOptionsPlotRange"]],
Hold[CurrentValue[FEObject,"GraphicsBoxOptionsImageSize"]],
Hold[CurrentValue[FEObject,"IsPersistent2DTool"]],
Hold[CurrentValue[FEObject,"Language"]],
Hold[CurrentValue[FEObject,"MarkerAspectRatio"]],
Hold[CurrentValue[FEObject,"MarkerLineThickness"]],
Hold[CurrentValue[FEObject,"NotebooksMenuHistoryLength"]],
Hold[CurrentValue[FEObject,"PasteAutoQuoteCharacters"]],
Hold[CurrentValue[FEObject,"PersistentTools"]],
Hold[CurrentValue[FEObject,"Raster3DBoxOptionsPlotRange"]],
Hold[CurrentValue[FEObject,"Raster3DBoxOptionsPlotRangeClipPlanesStyle"]],
Hold[CurrentValue[FEObject,"RasterExploreViewRange"]],
Hold[CurrentValue[FEObject,"SelectedTool"]],
Hold[CurrentValue[FEObject,"ShowAutoSpellCheck"]],
Hold[CurrentValue[FEObject,"ShowPredictiveInterface"]],
Hold[CurrentValue[FEObject,"SyntaxColoringReasons"]],
Hold[CurrentValue[FEObject,"TrackCellChangeTimes"]],
Hold[CurrentValue[FEObject,"VersionedPreferences"]],
Hold[CurrentValue[FEObject,AutoMultiplicationSymbol]],
Hold[CurrentValue[FEObject,AutoNumberFormatting]],
Hold[CurrentValue[FEObject,Background]],
Hold[CurrentValue[FEObject,CellID]],
Hold[CurrentValue[FEObject,CellTags]],
Hold[CurrentValue[FEObject,DefaultNewCellStyle]],
Hold[CurrentValue[FEObject,Deployed]],
Hold[CurrentValue[FEObject,DockedCells]],
Hold[CurrentValue[FEObject,DynamicUpdating]],
Hold[CurrentValue[FEObject,Magnification]],
Hold[CurrentValue[FEObject,NotebooksMenu]],
Hold[CurrentValue[FEObject,NumberMultiplier]],
Hold[CurrentValue[FEObject,NumberPoint]],
Hold[CurrentValue[FEObject,NumberSeparator]],
Hold[CurrentValue[FEObject,OutputSizeLimit]],
Hold[CurrentValue[FEObject,PrintAction]],
Hold[CurrentValue[FEObject,PrintingStartingPageNumber]],
Hold[CurrentValue[FEObject,PrintPrecision]],
Hold[CurrentValue[FEObject,resType]],
Hold[CurrentValue[FEObject,RulerUnits]],
Hold[CurrentValue[FEObject,ScreenStyleEnvironment]],
Hold[CurrentValue[FEObject,ShowCellLabel]],
Hold[CurrentValue[FEObject,ShowGroupOpenCloseIcon]],
Hold[CurrentValue[FEObject,ShowSelection]],
Hold[CurrentValue[FEObject,ShowSyntaxStyles]],
Hold[CurrentValue[FEObject,StyleDefinitions]],
Hold[CurrentValue[FEObject,StyleNameDialogSettings]],
Hold[CurrentValue[FEObject,TransitionEffect]],
Hold[CurrentValue[FEObject,Visible]],
Hold[CurrentValue[FEObject,WindowElements]],
Hold[CurrentValue[FEObject,WindowMargins]],
Hold[CurrentValue[FEObject,WindowOpacity]],
Hold[CurrentValue[FEObject,WindowSize]],
Hold[CurrentValue[FEObject,WindowStatusArea]],
Hold[CurrentValue[FEObject,WindowTitle]]

The list of them with object and listed second argument is too extensive to post here (I tried) but here is are the primary groups and with blanks where option names go:

Hold[CurrentValue[FEObject,{"AutoStyleOptions",_}]],
Hold[CurrentValue[FEObject,{"ByteCount",_}]],
Hold[CurrentValue[FEObject,{"CellChangeTimesList",_}]],
Hold[CurrentValue[FEObject,{"CellCount",_}]],
Hold[CurrentValue[FEObject,{"CodeAssistOptions",_}]],
Hold[CurrentValue[FEObject,{"DebuggerSettings",_}]],
Hold[CurrentValue[FEObject,{"Graphics3DBoxOptionsClipPlanes",_}]],
Hold[CurrentValue[FEObject,{"Graphics3DBoxOptionsClipPlanesStyle",_}]],
Hold[CurrentValue[FEObject,{"NotebookSecurityOptions",_}]],
Hold[CurrentValue[FEObject,{"PreferencesSettings",_}]],
Hold[CurrentValue[FEObject,{"PrintingOptions",_}]],
Hold[CurrentValue[FEObject,{"Raster3DBoxOptionsPlotRange",_}]],
Hold[CurrentValue[FEObject,{"Raster3DBoxOptionsPlotRangeClipPlanesStyle",_}]],
Hold[CurrentValue[FEObject,{"WolframCloudSettings",_}]],
Hold[CurrentValue[FEObject,{AutoStyleOptions,_}]],
Hold[CurrentValue[FEObject,{CellBracketOptions,_}]],
Hold[CurrentValue[FEObject,{CommonDefaultFormatTypes,_}]],
Hold[CurrentValue[FEObject,{DigitBlock,_}]],
Hold[CurrentValue[FEObject,{DigitBlockMinimum,_}]],
Hold[CurrentValue[FEObject,{FindSettings,_}]],
Hold[CurrentValue[FEObject,{Graphics3DBoxOptions,_}]],
Hold[CurrentValue[FEObject,{MessageOptions,_}]],
Hold[CurrentValue[FEObject,{NewPrimitiveStyle,_}]],
Hold[CurrentValue[FEObject,{NotebookConvertSettings,_}]],
Hold[CurrentValue[FEObject,{PageFooterLines,_}]],
Hold[CurrentValue[FEObject,{PageHeaderLines,_}]],
Hold[CurrentValue[FEObject,{PrintingOptions,_}]],
Hold[CurrentValue[FEObject,{PrivateFrontEndOptions,_}]],
Hold[CurrentValue[FEObject,{PrivateNotebookOptions,_}]],
Hold[CurrentValue[FEObject,{RenderingOptions,_}]],
Hold[CurrentValue[FEObject,{TaggingRules,_}]],
Hold[CurrentValue[FEObject,{TranslationOptions,_}]],
Hold[CurrentValue[FEObject,{"DialogSettings",_,_}]],
Hold[CurrentValue[FEObject,{CellFrameLabels,_,_}]],
Hold[CurrentValue[FEObject,{ConversionOptions,_,_}]],
Hold[CurrentValue[FEObject,{PageFooters,_,_}]],
Hold[CurrentValue[FEObject,{PageHeaders,_,_}]]

Hopefully this is helpful.

And then for getting this code off this page:

SEImportCode[url_]:=
 StringCases[Import[url,"Text"],("<code>" ~~ c : Shortest[__] ~~ "</code>" :> c)]

This will pull the raw code sections which you can then work with.

$\endgroup$
  • $\begingroup$ I see that my comment made few minutes ago about a plain text search of the installation files was superfluous. $\endgroup$ – Mr.Wizard Dec 12 '16 at 9:36
5
$\begingroup$

Another way to get more stuff is to just see what's available to FrontEnd`Value[FrontEnd`CurrentValue[__]] as that's how CurrentValue seems to work its magic (per the DownValues). Then we'll use the vast output from FrontEndExecute[FrontEnd`NeedCurrentFrontEndSymbolsPacket[]] and see what sticks:

Select[
  Flatten@
   FrontEndExecute[FrontEnd`NeedCurrentFrontEndSymbolsPacket[]][[1]],
  Not@
    MatchQ[
     FrontEndExecute@
      FrontEnd`Value[FrontEnd`CurrentValue[#], 
       False], _FrontEnd`CurrentValue
     ] &
  ]

And we get this:

{
"Active","AddOnHelpPath","AllowDataUpdates",
"AllowDebugging","AllowDocumentationUpdates","AllowDownloads",
"AllowExternalChannelFunctions","AllowGroupClose","AllowInlineCells",
"AllowReverseGroupClose","AnimationCycleOffset","AnimationCycleRepetitions",
"AnimationDisplayTime","AnimationRunning","Antialiasing",
"AspectRatioFixed","AutoGeneratedPackage","AutoIndent",
"AutoItalicWords","AutoloadPath","AutomaticWolframCloudLogin",
"AutoMultiplicationSymbol","AutoNumberFormatting","AutoOpenNotebooks",
"AutoOpenPaclets","AutoOpenPalettes","AutoQuoteCharacters",
"AutoSpacing","AutoStyleWords","Background",
"BackgroundAppearance","BackgroundAppearanceOptions","BlinkingCellInsertionPoint",
"BoxFormattingRecursionLimit","BoxFormFormatTypes","CacheGraphics",
"CaseSensitiveCommandCompletion","CellAutoOverwrite","CellBaseline",
"CellChangeTimeMergeInterval","CellChangeTimes","CellContext",
"CellDingbat","CellDynamicExpression","CellEditDuplicate",
"CellEditDuplicateMakesCopy","CellEpilog","CellEvaluationDuplicate",
"CellEvaluationFunction","CellEventActions","CellFrame",
"CellFrameColor","CellFrameLabelMargins","CellFrameLabels",
"CellFrameMargins","CellFrameStyle","CellGrouping",
"CellGroupingRules","CellHorizontalScrolling","CellInsertionPointCell",
"CellInsertionPointColor","CellLabel","CellLabelAutoDelete",
"CellLabelMargins","CellLabelPositioning","CellLabelStyle",
"CellMargins","CellOpen","CellProlog",
"CellSize","CellSplitCopiesTags","CellTags",
"CharacterEncodingsPath","ClearEvaluationQueueOnKernelQuit","Clickable",
"ClipPlanes","ClipPlanesStyle","CloseOnClickOutside",
"ClosingAutoSave","ClosingSaveDialog","ComponentwiseContextMenu",
"ConfigurationPath","ContextMenu","ControlsRendering",
"ConversionRules","ConvertersPath","Copyable",
"CounterAssignments","CounterIncrements","CounterStyleMenuListing",
"CreateCellID","DataCompression","Default2DTool",
"Default3DTool","DefaultAttachedCellStyle","DefaultControlPlacement",
"DefaultDockedCellStyle","DefaultDuplicateCellStyle","DefaultFontProperties",
"DefaultFormatType","DefaultInlineFormatType","DefaultNaturalLanguage",
"DefaultNewCellStyle","DefaultNewGraphics","DefaultNewGraphics3D",
"DefaultNewInlineCellStyle","DefaultNewInlineGraphics","DefaultNewInlineGraphics3D",
"DefaultNotebook","DefaultPackageStyleDefinitions","DefaultReturnCreatedCellStyle",
"DefaultScriptStyleDefinitions","DefaultStyleDefinitions","Deletable",
"DelimiterFlashTime","DelimiterMatching","Deployed",
"Dictionaries","DigitBlock","DigitBlockMinimum",
"DockedCells","DragAndDrop","DynamicEvaluationTimeout",
"DynamicUpdating","Editable","EmphasizeSyntaxErrors",
"Enabled","Evaluatable","EvaluationCompletionAction",
"EvaluationMode","EvaluationQueueActions","Evaluator",
"EvaluatorNames","EvaluatorStartup","ExportAutoReplacements",
"ExternalDataCharacterEncoding","FileChangeProtection","FillForm",
"FontColor","FontFamily","FontOpacity",
"FontSize","FontSlant","FontSubstitutions",
"FontTracking","FontWeight","FormatType",
"FormatTypeAutoConvert","FrontEndDynamicExpression","FrontEndEventActions",
"FrontEndStackSize","GeneratedCell","GenerateImageCachesOnPlacement",
"GeometricTransformation3DBoxOptions","GeometricTransformationBoxOptions","GlobalInitializationCellWarning",
"GreekStyle","GroupOpenerColor","GroupOpenerInsideFrame",
"GroupPageBreakWithin","HomePage","Hyphenation",
"IgnoreSpellCheck","ImageMargins","ImageRegion",
"ImageSize","ImageSizeMultipliers","ImportAutoReplacements",
"IncludeFileExtension","InitializationCell","InitializationCellEvaluation",
"InitializationCellWarning","InitializationGroup","InputAliases",
"InputAutoReplacements","Language","LanguageCategory",
"LegacyGraphicsCompatibility","Lighting","LimitsPositioningTokens",
"LinebreakAdjustments","LinebreakSemicolonWeighting","LineBreakWithin",
"LineIndent","LineIndentMaxFraction","LineSpacing",
"LowerCaseStyle","Magnification","MaintainDynamicCaches",
"MarkerAspectRatio","MarkerLineThickness","MenuCommandKey",
"MenuSortingValue","MessageOptions","MousePointerAppearance",
"MultilaunchWarning","MultiLetterItalics","MultiLetterStyle",
"NotebookAutoSave","NotebookBrowseDirectory","NotebookDynamicExpression",
"NotebookEvaluateRecursionLimit","NotebookEventActions","NotebookPath",
"NotebooksMenu","NotebooksMenuHistoryLength","NumberMarks",
"NumberMultiplier","NumberPoint","NumberSeparator",
"OutputAutoOverwrite","OutputSizeLimit","PageBreakAbove",
"PageBreakBelow","PageBreakWithin","PageFooterLines",
"PageFooters","PageHeaderLines","PageHeaders",
"PageWidth","PalettePath","PalettesMenuSettings",
"ParagraphIndent","ParagraphSpacing","PasteAutoQuoteCharacters",
"PasteBoxFormInlineCells","Placeholder","PreferencesPath",
"PreserveOldOutputGraphicsAttributes","PrintAction","PrintingCopies",
"PrintingPageRange","PrintingStartingPageNumber","PrintingStyleEnvironment",
"PrintPrecision","PrivateEvaluationOptions","RasterExploreViewRange",
"ReferenceSystemApplication","ReturnCreatesNewCell","RulerUnits",
"Saveable","ScreenInformation","ScreenRectangle",
"ScreenStyleEnvironment","ScriptBaselineShifts","ScriptLevel",
"ScriptMinSize","ScriptSizeMultipliers","ScrollPosition",
"Selectable","ShowAutoConvert","ShowAutoSpellCheck",
"ShowAutoStyles","ShowCellBracket","ShowCellLabel",
"ShowCellTags","ShowClosedCellArea","ShowCodeAssist",
"ShowContents","ShowCursorTracker","ShowDiscretionaryLineSeparators",
"ShowGroupOpener","ShowInvisibleCharacters","ShowMissingStyles",
"ShowPageBreaks","ShowPredictiveInterface","ShowSelection",
"ShowShortBoxForm","ShowSpecialCharacters","ShowStringCharacters",
"ShowSyntaxStyles","SingleLetterItalics","SingleLetterStyle",
"SpanAdjustments","SpanCharacterRounding","SpanLineThickness",
"SpanMaxSize","SpanMinSize","SpanSymmetric",
"SpeechNavigation","SpeedOfTime","SpellingDictionariesPath",
"StripOnInput","StripStyleOnPaste","StructuredSelection",
"StyleBoxAutoDelete","StyleBoxOptions","StyleEnvironment",
"StyleHints","StyleKeyMapping","StyleMenuListing",
"StyleSheetPath","SystemConsoleApplication","SystemHelpPath",
"TabFilling","TabSpacings","TaggingRules",
"TemporaryControlActiveInterval","TextAlignment","TextClipboardType",
"TextJustification","TrackCellChangeTimes","TraditionalFunctionNotation",
"TransitionDirection","TransitionDuration","TransitionEffect",
"VariableChangesAreEdits","VersionedOptions","VersionedPreferences",
"VirtualGroupData","Visible","WebNotebooksDirectory",
"WholeCellGroupOpener","WindowClickSelect","WindowElements",
"WindowFloating","WindowFrame","WindowFrameElements",
"WindowMargins","WindowMovable","WindowOpacity",
"WindowPersistentStyles","WindowSize","WindowStatusArea",
"WindowTitle","WindowToolbars","WolframCloudBaseUrl",
"WolframId","ZeroWidthTimes"
}

Most of these are just boring options, but some of them aren't, or at least aren't options I've ever seen, like "VariableChangesAreEdits".

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.