Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Efficiently select from a list of front end objects
ResourceFunction["SelectByCurrentValue"][{obj1,obj2,…},key] gives a list of the obji where CurrentValue[obji,key] would yield True. | |
ResourceFunction["SelectByCurrentValue"][{obj1,obj2,…},key,func] gives a list of the obji where func[CurrentValue[obji,key]] would yield True. |
| NotebookObject[…] | a currently open notebook |
| CellObject[…] | a cell in an open notebook |
| BoxObject[…] | a particular box in a cell |
| $FrontEndSession | an object representing settings for the current front end session |
| $FrontEnd | an object representing global settings for the front end |
Select all the evaluatable cells in the current notebook:
| In[1]:= |
| Out[1]= | ![]() |
Find cells with a large font size:
| In[2]:= |
| Out[2]= | ![]() |
Get only the notebooks that are currently visible:
| In[3]:= |
| Out[3]= |
| In[4]:= |
| Out[4]= |
Lists can be used to specify nested values:
| In[5]:= |
| Out[5]= | ![]() |
Select notebooks by values of TaggingRules:
| In[6]:= |
| Out[6]= |
| In[7]:= |
| Out[7]= |
| In[8]:= |
The given list can contain a mixture of front end object types:
| In[9]:= |
| Out[9]= |
| In[10]:= |
| Out[10]= |
| In[11]:= |
| Out[11]= |
CurrentValue reports some values as Automatic:
| In[12]:= |
| Out[12]= |
| In[13]:= |
| Out[13]= |
Set Absolute→True to use AbsoluteCurrentValue instead:
| In[14]:= |
| Out[14]= |
| In[15]:= |
| Out[15]= |
Find cells in the current notebook that have been modified in the past 60 seconds:
| In[16]:= |
| Out[15]= |
View the contents of the cells:
| In[17]:= |
| Out[17]= | ![]() |
SelectByCurrentValue is typically much faster than using Select with CurrentValue:
| In[18]:= |
| Out[18]= |
| In[19]:= |
| Out[19]= |
| In[20]:= |
| Out[20]= |
| In[21]:= |
Some objects inherit values from their parent object, even when not a valid option for that object type:
| In[22]:= |
| Out[22]= |
| In[23]:= |
| Out[23]= |
| In[24]:= |
| Out[24]= |
Save the corresponding BoxObject for each Dynamic expression in a list:
| In[25]:= |
| Out[25]= |
| In[26]:= |
| Out[26]= | ![]() |
Get the boxes:
| In[27]:= |
| Out[27]= | ![]() |
Enlarge the green ones:
| In[28]:= |
| Out[28]= | ![]() |
| In[29]:= |
Create a dynamic search filter for a notebook:
| In[30]:= | ![]() |
| In[31]:= |
| In[32]:= | ![]() |
| Out[29]= |
| In[33]:= | ![]() |
| Out[33]= |

Do a brute-force search for boxes that have a specific property:
| In[34]:= |
| Out[34]= | ![]() |
| In[35]:= |
| Out[31]= |
| In[36]:= |
| Out[36]= |
| In[37]:= |
| Out[37]= | ![]() |
This work is licensed under a Creative Commons Attribution 4.0 International License