> For the complete documentation index, see [llms.txt](https://chaoses-ib.gitbook.io/directory-opus/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://chaoses-ib.gitbook.io/directory-opus/manual/evaluator/applicable_contexts/functions/icons.md).

# Icons

In a toolbar or menu button, you can use the **@icon**, **@iconp** and **@icon!** modifiers to set button icons dynamically using the evaluator.

Note that these modifiers can also be used [without the evaluator](https://chaoses-ib.gitbook.io/directory-opus/manual/evaluator/applicable_contexts/functions/pages/sXKewVCFRUPfAuJLPO5L#@icon), so to use the evaluator you must begin the expression with a `=` character.

![](https://github.com/Chaoses-Ib/DirectoryOpus/blob/main/Manual/evaluator/applicable_contexts/functions/page%3Estandard_variables\&nodate\&nouser\&nofooter)

The return value from the evaluation expression will be used as the icon for the button. The icon can be specified in a number of ways:

* An icon from one of the internal [icon sets](/directory-opus/manual/reference/icon_sets.md), e.g. `"largeicons"`
* A path to an EXE or DLL to extract an icon, e.g. `"C:\Windows\System32\imgres.dll,40"`
* The name of an external image file, e.g. `"C:\Images\MyButton.png"`
