# Search Button for different HMI Screens

**URL:** <https://forum.inductiveautomation.com/t/search-button-for-different-hmi-screens/17831>\
**Category:** Ignition\
**Tags:** ignition79, scripting\
**Created:** [April 25, 2018, 5:16pm UTC](https://forum.inductiveautomation.com/t/search-button-for-different-hmi-screens/17831 "2018-04-25T17:16:05Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![NG1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ng1/32/4712_2.png) [@NG1](https://forum.inductiveautomation.com/u/NG1)\
**Post date:** [April 25, 2018, 5:16pm UTC](https://forum.inductiveautomation.com/t/search-button-for-different-hmi-screens/17831/1 "2018-04-25T17:16:05Z")

</div>

How do I create a search button for various screens within the project?  
I want a way to add the search functionality for my HMI project to be able to search for screens with keywords.

For example.  
If I have 10 screens, and I type a keyword or a sentence that matches with text on that screen, it shows up in the list and the user can click and navigate to it.

---

<div class="post-metadata">

**Author:** ![Claus\_Nielsen](https://avatars.discourse-cdn.com/v4/letter/c/77aa72/32.png) [@Claus\_Nielsen](https://forum.inductiveautomation.com/u/Claus_Nielsen)\
**Post date:** [May 6, 2018, 5:15am UTC](https://forum.inductiveautomation.com/t/search-button-for-different-hmi-screens/17831/2 "2018-05-06T05:15:18Z")

</div>

Is this limited to components ‘text’ property only?

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [May 7, 2018, 3:33pm UTC](https://forum.inductiveautomation.com/t/search-button-for-different-hmi-screens/17831/3 "2018-05-07T15:33:29Z")

</div>

The best way to do this would be to create a manual “database” (could just be a python dictionary or other data structure) within the project somewhere that can then be iterated through looking for a particular term. The only project-wide window resource you can access in the runtime is names ([`system.gui.getWindowNames()`](https://docs.inductiveautomation.com/display/DOC79/system.gui.getWindowNames)), so you wouldn’t be able to store this attribute on each window dynamically - but this would be easy to store as a project script.

---

<div class="post-metadata">

**Author:** ![NG1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ng1/32/4712_2.png) [@NG1](https://forum.inductiveautomation.com/u/NG1)\
**Post date:** [May 7, 2018, 5:44pm UTC](https://forum.inductiveautomation.com/t/search-button-for-different-hmi-screens/17831/4 "2018-05-07T17:44:23Z")

</div>

Okay. That makes sense. Another thing I was thinking about was –  
Have a dictionary to store keywords associated with each screen, and build that database over time based on how they are using it. So for example - if someone wants to search ‘How do I do task A’ , all screens that may have the keyword Task A would show up as the search result.  
Would that be possible?

Claus - I don’t know, would you recommend using that? The goal is for the operator to be able to find screens related to their task, in case they want to do a search.
