macOS: как отобразить главное меню строки меню без значка в доке

У меня есть приложение macOS с главным меню в строке меню (не NSStatusItem). Я хотел бы, чтобы это главное меню было видно, когда одно из окон приложения находится в фокусе. Однако я не хочу, чтобы это окно имело значок в доке.

Когда я устанавливаю для LSUIElement значение true, я замечаю, что строка меню никогда не появляется.

У меня такое чувство, что LSUElement полностью ломает строку меню. Есть ли альтернативный подход к предоставлению меню строки меню приложения без значка в доке?

Я на 10.14.3. Странно то, что другим, похоже, удалось создать строку меню в приложении. Но независимо от того, сколько раз я фокусирую свое приложение, строка меню не появляется.

setActivationPolcy(...), кажется, полностью предотвращает появление главного меню. LSUIElement также не показывает меню.


person Dany Joumaa    schedule 26.02.2019    source источник
comment
Привет @Willeke, проведя небольшое исследование, я понял, что моя строка меню на самом деле вообще не появляется из пакета, в котором для LSUIElement установлено значение true. (Я перепутал его с очень похожим меню из другого процесса). Знаете ли вы, почему LSUElement может помешать отображению меню полностью?   -  person Dany Joumaa    schedule 26.02.2019
comment
LSUIElement указывает службам запуска запускать приложение в качестве агента, который запускается в фоновом режиме без элемента Dock или меню. Хотя можно использовать NSStatusItem, и они могут создать окно, именно так они и должны работать. Вы можете взглянуть на использование элементов панели инструментов или всплывающих кнопок в вашем окне.   -  person red_menace    schedule 27.02.2019
comment
Да, похоже, не было никакого выхода. Я полностью обошел эту проблему. Спасибо!   -  person Dany Joumaa    schedule 28.02.2019