Author Topic: MacOS - Variables window opens on default desktop space when PM+ is fullscreen  (Read 3323 times)

Offline ejhutch

  • Member
  • **
  • Posts: 50
    • View Profile
Hi,
MacOS 11.6, MacBookPro 15" 2018, PM+ Version 6.0, build 6097

I have noticed that when PM+ on my Mac laptop is fullscreen and using it's own "Space", the "Variables" window, if popped-up, opens on the other (default desktop) "space" and the system switches to it whenever I try to switch back to the PM+ space, such as after I've cmd-tabbed to a different application.  I think I've seen this with other PM+ dialog windows, too, but won't be able to report them until I replicate the behavior and identify which others I've actually experienced this with. 

I originally brought this up in this thread: http://forums.camerabits.com/index.php?topic=14640.msg72196#msg72196 quoted below. Kirk asked me to start a new topic, so here it is. Hope to have some more examples of this soon, but I have been able to consistently replicate it with the Variables window.

Quote
Quote from: Kirk Baker on December 06, 2021, 04:15:09 PM
Quote from: seangallison on December 06, 2021, 03:41:59 PM
Also....more important is why the filter pop up is on the other screen?

You've identified a bug that we'll have to fix.

-Kirk

I also noticed that when PM+ on my Mac laptop is fullscreen and using it's own "Space", the "Variables" window, if popped-up, opens on the other (default desktop) "space" and switches to it even whenever I try to switch back to the PM+ space.  I think I've seen this with other PM+ dialog windows, too, but won't be able to report them until I replicate the behavior and identify which others I've actually experienced this with.  This seemed related, but if you'd prefer, I can start a new topic with it instead.

Offline ejhutch

  • Member
  • **
  • Posts: 50
    • View Profile
This may be a bug with MacOS, not PM+, as I just noticed similar behavior in a different application.  Or perhaps both apps aren't implementing all of the windowing and desktop fullscreen spaces APIs or something else entirely. I'm not sure what happens on other versions of MacOS either. Further research is required.

Offline Kirk Baker

  • Senior Software Engineer
  • Camera Bits Staff
  • Superhero Member
  • *****
  • Posts: 25020
    • View Profile
    • Camera Bits, Inc.
Ed,

I was able to reproduce this problem with the Variables window and I have fixed it.  Would you be willing to test a build that includes the fix?

Thanks,

-Kirk

Offline ejhutch

  • Member
  • **
  • Posts: 50
    • View Profile
Have you checked the behavior of other modal-like windows similar to the variables window? I think they might do it, too. I got the Edit Info Text to behave similarly, as well as at least one similar window in another app.

I’ll be happy to test a build, if it helps.

Would you mind telling me how you fixed it? If you don’t want to, I’m fine with that, too.

Offline Kirk Baker

  • Senior Software Engineer
  • Camera Bits Staff
  • Superhero Member
  • *****
  • Posts: 25020
    • View Profile
    • Camera Bits, Inc.
Ed,

Have you checked the behavior of other modal-like windows similar to the variables window? I think they might do it, too. I got the Edit Info Text to behave similarly, as well as at least one similar window in another app.

Do you mean the "Set Info Text" dialog?  Or the Variables palette window brought up from the "Set Info Text" dialog?

I’ll be happy to test a build, if it helps.

https://www.camerabits.com/download/PhotoMechanicPlusR6222_b8b90877.dmg

Would you mind telling me how you fixed it? If you don’t want to, I’m fine with that, too.

I added the NSWindowCollectionBehaviorTransient flag to the call to setCollectionBehavior: on the window.

-Kirk

Offline ejhutch

  • Member
  • **
  • Posts: 50
    • View Profile
Both. And I did mean the "Set Info Text" dialog. You might want to check if the NSWindowCollectionBehaviorTransient flag needs to be set on any other dialogs.

I apologize, I haven't had a chance to download or test the build you created yet. Are there any steps you'd suggest to install it in parallel with my current installation other than re-naming the app so I have two copies of it, and copying my settings over?


Have you checked the behavior of other modal-like windows similar to the variables window? I think they might do it, too. I got the Edit Info Text to behave similarly, as well as at least one similar window in another app.

Do you mean the "Set Info Text" dialog?  Or the Variables palette window brought up from the "Set Info Text" dialog?

Would you mind telling me how you fixed it? If you don’t want to, I’m fine with that, too.

I added the NSWindowCollectionBehaviorTransient flag to the call to setCollectionBehavior: on the window.

-Kirk

Offline Kirk Baker

  • Senior Software Engineer
  • Camera Bits Staff
  • Superhero Member
  • *****
  • Posts: 25020
    • View Profile
    • Camera Bits, Inc.
Ed,

I apologize, I haven't had a chance to download or test the build you created yet. Are there any steps you'd suggest to install it in parallel with my current installation other than re-naming the app so I have two copies of it, and copying my settings over?

No need to copy settings.  On macOS, there's no installer so just copy the app from the disk image to some folder on your system and run it from there.  It doesn't have to be in the Applications folder.  But if you want the release app and the test app to sit side-by-side in the Applications folder then you can rename the release app.

-Kirk