# Designer quality of life "mods"

**URL:** <https://forum.inductiveautomation.com/t/designer-quality-of-life-mods/116195>\
**Category:** Ignition\
**Tags:** scripting\
**Created:** [June 27, 2026, 8:10am UTC](https://forum.inductiveautomation.com/t/designer-quality-of-life-mods/116195 "2026-06-27T08:10:18Z")\
**Posts on this page:** 6\
**Page:** 4

<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:** [August 25, 2026, 10:52pm UTC](https://forum.inductiveautomation.com/t/designer-quality-of-life-mods/116195/61 "2026-08-25T22:52:08Z")

</div>

Which is a pretty fair stance, but I figure if folks are _already_ hacking things together based on "run this in the script console every time I launch the designer" or whatever this has got to be better than that.

But, yeah - this was much closer to a "huh, I think this would work" experiment than something I expect anyone to use in practice. Note I put the repo up 2 weeks ago and never got around to even making a real thread for it 😆

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [August 25, 2026, 10:57pm UTC](https://forum.inductiveautomation.com/t/designer-quality-of-life-mods/116195/62 "2026-08-25T22:57:49Z")

</div>

Note my `@runInClient` function in my toolkit requires the target function exist in the project library. It could be in a global inherited project, and every leaf project could call it regularly in a gateway timer event to "push" it everywhere. But everything is defined in the gateway, and therefore auditable.

(BTW, can one of you admins add the vomit emoji to the list of post reaction options? I did that for another Discourse forum that I co-administer, and my peeps love it...)

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [August 25, 2026, 11:39pm UTC](https://forum.inductiveautomation.com/t/designer-quality-of-life-mods/116195/63 "2026-08-25T23:39:29Z")

</div>

> [@paul-griffith](#):
>
> That would allow you to save one set of scripts in your _local_ user profile and load it onto any number of (8.3) connected designers, without making any changes in the project.

On the contrary @pturmel, I actually _like_ this idea. For tools that you've spent a lot of time building and don't wish to share with other integrators who might work on your projects, it's a pain importing the tools, installing them, and removing them (hopefully you remember to do this, and everyone else in your company who uses them also remembers to do this!).  
Having these scripts live _outside_ a gateway and a project is _hugely_ beneficial! It also means when I make updates to the code, I don't have to import this into 20 projects. Consider myself fired from your team 🤭

And to this end, @paul-griffith, can I store a library of py scripts within the `../.ignition/designer-extensions/..` path and reference those in the event handlers (eg `onProjectOpened`)? Rather than storing the scripts in the project?  
Edit: looks like I can use sys:

```python
import sys
if "C:/temp" not in sys.path:
    sys.path.append("C:/temp")
import testscript as ts
ts.testPrompt()

```

Very cool!

Edit: I wonder if I could store this on a network fileshare holding the latest repo so users don't even need the code on their laptops at all....

---

<div class="post-metadata">

**Author:** ![Chris\_Bingham](https://avatars.discourse-cdn.com/v4/letter/c/e5b9ba/32.png) [@Chris\_Bingham](https://forum.inductiveautomation.com/u/Chris_Bingham)\
**Post date:** [August 26, 2026, 4:45am UTC](https://forum.inductiveautomation.com/t/designer-quality-of-life-mods/116195/64 "2026-08-26T04:45:28Z")

</div>

> [@pturmel](#):
>
> If I were managing a dev team, using this would be a firing offense.

Bold statement.

---

<div class="post-metadata">

**Author:** ![David\_Stone](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/david_stone/32/79749_2.png) [@David\_Stone](https://forum.inductiveautomation.com/u/David_Stone)\
**Post date:** [August 26, 2026, 8:06am UTC](https://forum.inductiveautomation.com/t/designer-quality-of-life-mods/116195/65 "2026-08-26T08:06:56Z")

</div>

> [@Chris\_Bingham](#):
>
> > [@pturmel](#):
> >
> > If I were managing a dev team, using this would be a firing offense.
> 
> Bold statement.

Given he runs his own company, I would suggest this is in keeping with his company policy and his HR team...

---

<div class="post-metadata">

**Author:** ![justinedwards.jle](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/justinedwards.jle/32/37854_2.png) [@justinedwards.jle](https://forum.inductiveautomation.com/u/justinedwards.jle)\
**Post date:** [August 26, 2026, 8:22am UTC](https://forum.inductiveautomation.com/t/designer-quality-of-life-mods/116195/66 "2026-08-26T08:22:39Z")

</div>

> [@pturmel](#):
>
> the vomit emoji

It still counts as a like, correct? 🤭

...if so, it opens up a whole new avenue to padding that metric 😆

[Previous page](https://forum.inductiveautomation.com/t/designer-quality-of-life-mods/116195.md?page=3)
