• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Our plugin UI is opening behind PS untabbed document window

Explorer ,
May 13, 2013 May 13, 2013

Copy link to clipboard

Copied

When Photoshop is set to not use tabbed windows, when our plugin UI opens up it opens BEHIND the PS document windows. This is even for a UI that is launched as a separate process.

Is there any way to work around this?

TOPICS
SDK

Views

1.2K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe
Contributor ,
May 13, 2013 May 13, 2013

Copy link to clipboard

Copied

PC/Mac?

On PC chances are you are not parenting your dialog correctly - it must be parented off the main Photoshop application windiow.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
May 13, 2013 May 13, 2013

Copy link to clipboard

Copied

Sorry, this is on Mac.

My UI does not have a parent window because it is a separate application. One issue I see is I'm pretty much hanging PS while my application is running. Is there a certain way I can spin PS's event loop while it's running? Maybe PS needs a trip through its event loop to adjust the window priorities?

(though I'd expect a completely separate application would not end up BETWEEN the PS document windows and the background "application frame")

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
May 13, 2013 May 13, 2013

Copy link to clipboard

Copied

I'm not too clear as to what exactly you are trying to achieve. If you run, say, an automation plugin's GUI, it should be modal, in which case there is no advantage to have a separate process. If you are trying to create something semi-modal where the user can interact with Photoshop AND with your GUI simultaneously, the only official supported way to do it is to use CSXS and have your GUI in an extension panel. Everything else (i.e. some sort of fake semi-modal dialogs ran by a separate thread or another process) is a hack, they are explicitly unsupported by Adobe and will require tinkering with Photoshop's internal event look, explicit maintenance of Z-order, substituion of windows callbacks etc. While its doable, maintaining this sort of semi-modality is not a trivial task, it will likely to break from one release to another and you will be more or less on your own with it, since there is no simple solution for it.

Just something to consider.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
May 13, 2013 May 13, 2013

Copy link to clipboard

Copied

Yep, well considered and unfortunately there is no way around it. Our UI toolkit collides with PS when we link directly with it, so I have to shell out to a separate process to do the work. It's been working well for years like this - it's just an annoyance that it doesn't work well in this one particular instance (tabbed windows turned off, and application frame turned on).

There are other third-party plugins out there that do exactly what we do - I was just curious if there was a known workaround that's public knowledge.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
May 13, 2013 May 13, 2013

Copy link to clipboard

Copied

Look at the SetWindowGroup function with the second parameter set to GetWindowGroupOfClass(kMovableModalWindowClass).

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
May 14, 2013 May 14, 2013

Copy link to clipboard

Copied

LATEST

I was able to work around this by periodically polling the NSApplication event loop with a type of PopupModal.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines