Доступен ли доступ к контрольной полосе панели управления macOS?

Control Strip - статическая и глобальная часть панели макросов MacOS, которая всегда отображается в каждом контексте и приложении. Хотя Apple предоставляет полную документацию о том, как использовать API для предоставления контекстного региона приложения в вашем приложении macOS, я не мог найти никакого уведомления about как добавить материал в панель управления.

Я мог бы придумать много хороших инструментов и действий, которые были бы хороши, если бы у него всегда был отпечаток пальца, поэтому мне было интересно, смогут ли мы (разработчики) продвинуть Control Strip? Есть ли какая-либо документация или кто-нибудь из нее сам понял, как работать с элементами контрольной полосы?

Ответ 1

Фактически существует "закрытый, недокументированный" API, который можно использовать, поскольку вы можете видеть, следуете ли вы ссылкой в ​​соответствующем комментарии к вашему вопросу (этот вопрос). Следующий репозиторий GitHub дает краткий, функциональный пример, выделяя их как ключевые элементы:

DFRElementSetControlStripPresenceForIdentifier(NSString *, BOOL);
DFRSystemModalShowsCloseBoxWhenFrontMost(BOOL);

+[NSTouchBarItem addSystemTrayItem:]
+[NSTouchBar presentSystemModalFunctionBar:systemTrayItemIdentifier:]

Однако на данный момент я не думаю, что это проблема. Например, кнопки, которые вы добавляете туда, не будут выбираться при изменении кнопок панели управления (что означает, что он не будет хорошо воспроизводиться с другими приложениями, которые также пытаются использовать его).

С нетерпением ждем, когда Apple сделает это законным для нас!

Ответ 2

Нет публичного API или поддерживаемого способа добавления элементов в панель управления.