Имеется ли программируемый доступ к панели управления сенсорной панели macOS?
Панель управления является статической и глобальной частью сенсорной панели macOS, которая всегда видна в любом контексте и приложении. Хотя Apple предоставляет полную документацию о том, как использовать API для предоставления контекстной области приложения в вашем приложении MacOS, я не смог найти никаких уведомлений о том, как добавить материал в Control Strip.
Я мог бы подумать о множестве хороших инструментов и действий, которые были бы хороши, если бы они всегда были под рукой, поэтому мне было интересно, сможем ли мы (разработчики) продвинуть Control Strip? Есть какая-то документация или кто-нибудь сам разбирается, как работать с элементами Control Strip?
2 ответа
На самом деле существует "частный недокументированный" API, который можно использовать, как вы можете увидеть, перейдя по ссылке в связанном комментарии к вашему вопросу (к этому вопросу). Следующий репозиторий GitHub предоставляет краткий, функциональный пример, выделяя их в качестве ключевых элементов:
DFRElementSetControlStripPresenceForIdentifier(NSString *, BOOL);
DFRSystemModalShowsCloseBoxWhenFrontMost(BOOL);
+[NSTouchBarItem addSystemTrayItem:]
+[NSTouchBar presentSystemModalFunctionBar:systemTrayItemIdentifier:]
Тем не менее, я не думаю, что это без проблем на данный момент. Например, добавленные вами кнопки не будут доступны для выбора при изменении кнопок панели управления (что означает, что они не будут хорошо работать с другими приложениями, которые также пытаются его использовать).
Надеемся, что Apple сделает это законным для нас!
Нет общедоступного API или поддерживаемого способа добавления элементов в панель управления.