Как создать виджет, который можно разместить на рабочем столе MacOS?

Я видел "виджеты" на MacOS, например, для погоды и календаря, которые можно использовать как что-то, что я бы назвал "виджетами рабочего стола":

Похоже на виджет Today, но его можно разместить на рабочем столе, и он будет "не касаться". Нет ни щелчков, ни перетаскивания, как только в их предпочтениях разрешена опция перетаскивания и изменения размера.

В основном это похоже на то, что что-то изначально является частью рабочего стола / обоев.

Я хочу создать аналогичную вещь с другим подходом, чем показывать текущую погоду (например, список акций или валютных торговых пар или что-то еще)

Как называется эта вещь в области именования Apple? Где я могу найти подходящую основу для развития? Где я могу найти документацию?

1 ответ

Я предполагаю, что вам нужен термин "Окно", окна не только имеют порядок спереди / сзади, они также сгруппированы по уровням. Для "плавающих" окон существует уровень, который находится перед уровнем для обычных окон, поэтому окна на этом уровне всегда появляются перед стандартными окнами. Точно так же есть уровень окна "рабочего стола", который находится позади других уровней. Есть недвижимостьlevel на NSWindowчтобы получить / установить уровень, которому принадлежит окно. Тип NSWindowLevel предоставляет константы для некоторых уровней окна, для всех см. CGWindowLevelKey.

В любом окне можно настроить игнорирование кликов и т. Д.

Объедините все вышеперечисленное, и вы сможете создать полупрозрачное окно, "прикрепленное" к рабочему столу, которое игнорирует щелчки. HTH

Другие вопросы по тегам