Eyedropper Outside of the Blender Window on Mac

We have a PR that adds the ability (on the Mac OS) to use the eyedropper to select colors from outside of the Blender window. So far it has had limited testing with good results, including with multiple monitors and with/without HDR.

On Mac this feature works similarly to Linux. So outside of a Blender window you must press the “Enter” key to capture the color. The mouse cursor will not show an eyedropper cursor outside of the Blender window. Additionally, the operating system will ask you to grant it screen capture permission.

So I am asking you to not only test that the functionality works but also your general feeling about it. Would you have guessed the need to press Enter? Could this need be communicated to you in some way? Would we receive bug reports about this behavior?

Code review comments - on the PR page - are also appreciated.

Builds:

8 Likes

I tested this on a MacBook Pro M1 Max running macOS Ventura 13.5.2.

It does work, but I don’t think I would have ever realized this without the instructions in @Harleya original post:

> On Mac this feature works similarly to Linux. So outside of a Blender window you must press the “Enter” key to capture the color. The mouse cursor will not show an eyedropper cursor outside of the Blender window. Additionally, the operating system will ask you to grant it screen capture permission.

I also had to click through two system dialog boxes: the one mentioned above requesting screen capture permission, but also an additional one telling me the permission wouldn’t be granted until I quit / restarted Blender.

I don’t think this behavior will generate bug reports per se – I don’t think people will realize this functionality exists unless it’s explained within the “Eyedropper” section of the Blender manual.

I compared the Blender eyedropper to Pixelmator’s. Pixelmator’s eyedropper doesn’t need to request permission. The cursor (outside of the app) once the eyedropper is selected turns into a circle about 2 cm across that shows a magnified image of what is behind the circle. Clicking the left mouse button selects the color.

Not sure what technique Pixelmator is using, but it would be great if Blender’s proposed functionality was more like Pixelmator’s. I don’t mean to imply that Blender should always follow what other apps do, but Pixelmator’s eyedropper is straightforward to use and doesn’t require additional instruction.

There is a new and better way to do this, but it is not supported on the versions of the Mac OS that we need to support. So this might have to do for a while.

1 Like

Support for older macOS versions doesn’t have to hold us back. It is possible to use new APIs and fall back to the old ones for older macOS.

4 Likes

For sure. The new thing, AFAICT is SCScreenshotManager, which requires macOS 14.0+, so “Sonoma” released this year on September 26th.

2 Likes