CurrentValue

CurrentValue[item]

gives the current value of item at a location in the Wolfram System and interface.

CurrentValue[{item,spec}]

gives the current value for the feature of item specified by spec.

CurrentValue[obj,item]

gives the current value of item associated with the object obj.

Details

  • CurrentValue by default refers to the location at which it appears in a notebook structure.
  • CurrentValue may be used inside Dynamic, where it by default refers to the dynamic object being displayed.
  • Values for appropriate items can be reset using CurrentValue[item]=val, or implicitly through Dynamic.
  • For any option in the notebook front end, the current value at a particular location can be accessed using CurrentValue[opt].
  • For options whose settings are lists of the form {"name1"->val1,}, CurrentValue[{opt,namei}] picks out the current value of vali.
  • CurrentValue[{StyleDefinitions,"style"}] gives the explicit style definitions that would be used for the style with name style at the current location.
  • CurrentValue[{StyleDefinitions,"style",option}] gives the value of option for style.
  • CurrentValue[obj,"CellStyleName"] returns the primary cell style name assigned to obj as a string. CurrentValue[obj,"CellStyle"] gives a list of all the cell styles assigned to obj.
  • Possible special items that can be used in CurrentValue include:
  • "MouseOver"True if the mouse is over the location
    "SelectionData"the contents of the selection in this notebook
    "SelectionOver"True if the selection includes the current location
  • The following refer to the mouse:
  • "MouseButtons"a list of mouse buttons currently pressed
    "MouseButtonTest"True if the main mouse button is currently pressed
    {"MouseButtonTest",i}True if mouse button i is currently pressed
    "MouseClickCount"number of mouse clicks for the triggering event
    "MouseOver"True if the mouse is over the current location
    "MousePosition"the current position of the mouse
    {"MousePosition",coords}the mouse position in the specified coordinate system
  • The primary mouse button is represented as 1. The secondary ("right") button is 2. The scroll wheel button is typically 3. Additional buttons are given higher numbers.
  • The following refer to modifier keys:
  • "ModifierKeys"a list of all modifier keys currently being pressed
    "AltKey"True if the or key is currently pressed
    "CommandKey"True if the or key is currently pressed
    "ControlKey"True if the key is currently pressed
    "OptionKey"True if the key on a Macintosh is currently pressed
    "ShiftKey"True if the key is currently pressed
  • The following refer to controller devices such as gamepads:
  • "ControllerData"lowlevel data on states of all controllers
    {"ControllerData",ids}data on controllers with the specified identifiers
  • The following refer to the event or action currently being handled:
  • "EventKey"key that was pressed
    "EventAbsoluteTime"absolute time when the event occurred
    "EventData"data about the event
  • The following refer to the evaluation currently being performed:
  • "DynamicEvaluation"True if the evaluation is associated with Dynamic
    "SynchronousEvaluation"True if the evaluation is being performed synchronously
  • The following special items refer to the complete current notebook:
  • "NotebookDirectory"directory name
    "NotebookFileName"name of file, without path
    "NotebookFullFileName"full file name, including path
    "NotebookSelected"True if the notebook is selected
  • The following refer to the font being used; all are given in printer's points:
  • "FontAscenderHeight"height of ascenders for lowercase letters
    "FontAxisOffset"offset of the font axis above the baseline
    "FontCapHeight"height of capital letters
    "FontDescenderDepth"depth of descenders for lowercase letters
    "FontLineHeight"total height of lines of text
    "FontMWidth"width of an "m"
    "FontNWidth"width of an "n"
    "FontThickness"default stroke thickness
    "FontXHeight"height of an "x"
  • The following refer to system settings:
  • "SystemColors"colors specified by the system's current theme
    "SystemFonts"fonts specified by the system's current theme
  • Typical objects that can be used in CurrentValue include:
  • $FrontEndthe whole front end
    $FrontEndSessionthe current session of the front end
    NotebookObject[]the specified notebook; this may have been generated by a command such as InputNotebook or EvaluationNotebook
    NotebookSelection[nb]the current selection within a notebook
    CellObject[]the specified cell; this may have been generated by a command such as Cells or EvaluationCell
  • When used in functions like EventHandler and Button, CurrentValue returns the current value at the moment when the triggering event occurred.
  • Cases such as CurrentValue["MousePosition"] are equivalent to explicit functions such as MousePosition[].

Examples

open allclose all

Basic Examples  (2)

Get the current mouse position:

Dynamically update the current value:

Scope  (20)

Options  (6)

Get the current value of an option for the front end:

Get the current value of an option for a notebook:

Get the current value of an option inherited by a Dynamic:

Get the current value of a suboption:

Get the current value of a specific rule within an option:

Get the current value of rules within rules within options:

Fonts  (1)

Use platform-specific controls font:

Use platform-specific panel font:

Colors  (1)

Style elements to look similar to a tooltip:

Mouse  (2)

Detect whether the mouse cursor is over the content:

Get the absolute current position of the mouse on screen:

Get the scaled current position of the mouse on screen:

Get the mouse position inside a graphic:

Notebook  (3)

Check whether the current notebook is selected:

Get the notebook file name:

Get the directory path of the current notebook:

Get the full path of the current notebook:

Keyboard  (1)

Get a list of all modifier keys being pressed:

Check whether a specific modifier key is being pressed:

Selection  (2)

Detect whether current cell is selected:

Get the box structure of the selection in this notebook:

Select parts of the expression below:

Evaluation  (2)

Detect whether current evaluation is inside Dynamic:

Detect whether current evaluation is synchronous:

Setting Values  (2)

Set the notebook background to be red for a second and then reset to original value:

Use Dynamic to set the notebook background:

Or set the window opacity:

Applications  (1)

Use the TaggingRules option to store arbitrary metadata that will be saved with a notebook:

See the entire list of TaggingRules for a given selector:

Use TaggingRules to emulate a DynamicModule construct that can span cells:

Properties & Relations  (1)

Mouseover is created by the CurrentValue item "MouseOver":

Possible Issues  (1)

Dynamic may not be updated while mouse buttons are down, so this may show nothing:

Wolfram Research (2007), CurrentValue, Wolfram Language function, https://reference.wolfram.com/language/ref/CurrentValue.html (updated 2019).

Text

Wolfram Research (2007), CurrentValue, Wolfram Language function, https://reference.wolfram.com/language/ref/CurrentValue.html (updated 2019).

CMS

Wolfram Language. 2007. "CurrentValue." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2019. https://reference.wolfram.com/language/ref/CurrentValue.html.

APA

Wolfram Language. (2007). CurrentValue. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/CurrentValue.html

BibTeX

@misc{reference.wolfram_2023_currentvalue, author="Wolfram Research", title="{CurrentValue}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/CurrentValue.html}", note=[Accessed: 18-March-2024 ]}

BibLaTeX

@online{reference.wolfram_2023_currentvalue, organization={Wolfram Research}, title={CurrentValue}, year={2019}, url={https://reference.wolfram.com/language/ref/CurrentValue.html}, note=[Accessed: 18-March-2024 ]}