Are NSStatusItem Interactions Still Allowed?

We have a status item which works fine on macOS 26 and earlier, which has the following properties:

  • Supports left-click to open main UI (a popover)
  • Supports left-click (while open) to toggle (close) the main UI
  • Supports right-click to show "app" menu (e.g. About, Quit)
  • Supports a drop destination to accept files and folders, which then triggers the main UI for more interaction

In macOS 27:

  • left-click seems ok if we use expanded interface session, but otherwise broken
  • left-click while open no longer toggles (event is missing?)
  • right click is no longer operational, to the point that it seems the Menu Bar doesn't forward the event at all. Other (Apple-provided) items work fine, and expose new context menus
  • Dragging now triggers Mission Control, which seems wrong given the destination was in the Menu Bar (FB23018381).

Are these interactions now forbidden, and are there lists or documentation of the new rules?

As an additional bug, it looks like popovers don't pick up appearance changes. The child scroll view claims to be in light appearance in the View Debugger, but is clearly showing the wrong background color, this is a new (as-yet unreported) issue.

One last bug: expanded interface session seems to suppress the popover's animation when shown.

Hi there! Can I ask how you were monitoring for these events?

For right-clicking I tried gesture recognizer, a button subclass with -rightMouseDown:, and also a local event monitor to see if I could find anything.

Local event monitors are no longer the recommended way of scanning for events on status items.

The other two are interesting...

You shouldn't need to add a button subclass— NSStatusItem comes with a button property that you can use as is. You should also be able to install a gesture recognizer on the custom view... How do these fail?

I was using NSStatusBarButton before, but now no events seem to be passed at all, which was why I tried the local event monitor as a last resort.

It seems like interaction is now strictly scoped to a single left-click to expanded interface session, and that's it.

Please submit a feedback request on Feedback Assistant with a test app!

See these:

FB23018381

FB22983198

Are NSStatusItem Interactions Still Allowed?
 
 
Q