Skip to main content
AODA_Developer
Inspiring
May 26, 2025
Question

InDesign UXP support for panel show/hide events?

  • May 26, 2025
  • 3 replies
  • 586 views

I'm in the process of converting an InDesign Extendscript/ScritpUI tool over to an Adobe UXP PlugIn for InDesign, but I've hit a brick wall when it comes to lifecycle events.

 

I cannot seem to get lifecycle events to fire for show/hide of the my new panel. I've tried many different variants of the entrypoints.setup method, but the only events that fire are at InDesign init when the plugin loads: I get the "create" event, then one (and only one) "show" event for the initial panel display. After that, I can't get the "show" or "hide" events to trigger whe the panel is opened and closed.

 

After much searching and reading of other code examples, I've tried switching to "addEventListener" using the "uxpcommand" event and the "uxpshowpanel" eventID, but it doesn't fire for anything at all.

 

Does anyone have any insight into whether Adobe InDesign supports these items? When searching online I've seen many references to "it's coming soon" from the Adobe community, but most of those posts are from 2020 to 2022, i.e several years ago.

 

The create/destroy and show/hide lifecycle events are kinda core to any plugin and I'm surprised that there does not seem to be a supported way of using them. If anyone has any insight, samples, or solutions, I'd really appreciate the guidance...thanks in advance!

3 replies

Kacper3754701256qk
Participant
April 5, 2026

Still an issue, can’t believe that basic things like this can not work

Participating Frequently
May 27, 2025

Short answer, no! The support for UXP in InDesign is patchy at best. A lot of things, like the lifecycle events, do not work. 

As a possible workaround:
The panel is available in the app.panels collection, so you could use a setinterval to check the visibility and trigger an action.

Something on the lines of:

const panel = app.panels.itemByName('AwesomePanel');
setInterval(() => {
  if (panel.isValid) {
    if (panel.visible) {
      console.log('Panel is visible');
    } else {
      console.log('Panel is hidden');
    }
  }
}, 500); // Check every 500 milliseconds
—————————————————————————————Krommatine Systems — Makers of InDesign plugins, tools, and automations.
AODA_Developer
Inspiring
May 27, 2025

Thanks for the update – not the answer I was hoping for, but good to know so that I don't waste any more time trying to do the impossible. It's too bad, UXP looked really promising, but I'm assuming from the lack of development progress (and support) from Adobe, that's it's (yet another) product that's been left dead in the water.

 

I think that it might be prudent to skip the whole UXP idea and stick to trying to make the scripting model work instead.

Participating Frequently
May 28, 2025

I wouldn't quite give up on UXP yet, considering that the InDesign team is actually using it for some of the internal components. You can get some good stuff with it (see my Conditional Styling Rule plugin for some fairly complex UI) but be prepared for some pain and things not working.

—————————————————————————————Krommatine Systems — Makers of InDesign plugins, tools, and automations.
leo.r
Community Expert
Community Expert
May 26, 2025

You may also want to post your question here:

https://forums.creativeclouddeveloper.com/c/indesign/72

AODA_Developer
Inspiring
May 26, 2025

Thanks! I've registered and posted there, hopefully someone has encountered this before and has a solution...