pharo-project / pharo

Pharo is a dynamic reflective pure object-oriented language supporting live programming inspired by Smalltalk.
http://pharo.org
Other
1.21k stars 356 forks source link

Pharo window cannot be resized with Moom #11563

Open bpieber opened 2 years ago

bpieber commented 2 years ago

Bug description I use Moom to resize windows on macOS. It works with almost all applications and it is very convenient on a large screen.

To Reproduce Steps to reproduce the behavior:

  1. Launch Pharo
  2. Hover over the green resize button of the Pharo window.
  3. The Moom controls do not appear.

Expected behavior The Moom controls should appear.

Screenshots Here is how it normally looks: image

Version information:

Expected development cost I have no idea. I am willing to test.

tesonep commented 2 years ago

I have done a check on this issue. The same is happen when using the OpenSource alternative App Rectangle. These applications are using Accessibilities features to interact with the other open windows. As I have seen, we are not generating correctly the AccessibilityElement for the main window. This is an issue inherited from SDL, basically, as we (and SDL) are using an NSWindow and an NSView directly we are not using the accessibility implementation that is implemented in all the other Cocoa widgets. As long I have seen, it is possible to use the objective-c bridge to provide information to the OS. More information about this is in OSX Dev documentation (https://developer.apple.com/documentation/appkit/accessibility_for_appkit?language=objc). I will continue checking this issue in the following weeks, but if someone wants to take the token is ok; I can provide a few more details.

Apple Developer Documentation
tesonep commented 2 years ago

I have checked how Firefox is resolving this in the Gecko project (their multiplatform UI Fwk) but they are using deprecated API to perform this (or at least the version of Gecko I was reading... I should check it better, maybe in the dev branch)

tesonep commented 2 years ago

Gecko Code https://github.com/mozilla/gecko-dev/blob/master/accessible/mac/Platform.mm

GitHub
gecko-dev/Platform.mm at master · mozilla/gecko-dev
Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html - gecko-dev/Pl...
tesonep commented 2 years ago

Also a useful hint, it is easy to debug the app with the Accessibility Inspector that comes with XCode. https://developer.apple.com/library/archive/documentation/Accessibility/Conceptual/AccessibilityMacOSX/index.html#//apple_ref/doc/uid/TP40001078

bpieber commented 2 years ago

Thank you for taking the time to look into this!

bpieber commented 1 year ago

Markus Denker asked on the mailing list to check the open bugs.

I just tested it with Pharao 10 on macOS 12.6.5 (21G531). The issue is still there.