Как скрыть приложение Mono на OSX Dock - PullRequest
0 голосов
/ 02 апреля 2010

У меня есть приложение Mono, которое не должно отображаться на док-станции, но иногда будет отображать окно. Я не хочу, чтобы в этом приложении отображалась строка меню или значок док-станции. У меня есть приложение, упакованное в пакет приложений, и в моем файле info.plist для LSUIElement установлено значение "1". Похоже, это не скрывает мое приложение от Dock.

Я попытался также вызвать osascript со следующей информацией в Process.Start: osascript -e 'сказать приложению "Системные события", чтобы установить для видимого процесса "myapp" значение false'

Возвращает код ошибки системного события: -10006. До сих пор мне не повезло выяснить, что это значит.

Я также попробовал все стандартные функции Hide () и Visibility = false в Mono.

Кто-нибудь нашел обходной путь для этого, или есть идея, в которой я могу искать? По большей части работа в Mono была простой. Net кодированием, но это поставило меня в тупик.

Ответы [ 2 ]

1 голос
/ 09 марта 2011

Ну, после изрядного количества работы, я нашел лучший способ сделать это. Я создаю моно приложение Silverlight + для OSX. Мне нужно было запустить оба устройства с одной и той же кнопки.

Решил его с помощью команды сценария bash из комплекта, который создает процесс установки Silverlight OOB, и просто распространил созданный комплект с помощью некоторых команд rsync.

Строка, которая запускает серверный бит (созданный с помощью инструмента macpack Mono): открыть MyApp.app &

Строка, которая обычно запускает приложение Silverlight OOB: ./Silverlight $ @ &> / dev / null

Бит '$ @' передает все начальные аргументы в исполняемый файл Silverlight в приложении OOB. Означает, что вам нужно поиграть с Info.plist, чтобы он запустил свой собственный модуль запуска, чтобы ваш исполняемый файл Silverlight не перезаписывался при обновлении Silverlight, но, похоже, работает достаточно хорошо.

0 голосов
/ 20 декабря 2011

Это то, что вы ищете: http://uselessthingies.wordpress.com/2008/05/18/an-app-without-dock-icon-and-menu-bar/

tl; dr: Упакуйте ваш .app, и в Info.plist вашего приложения добавьте <key>LSUIElement</key><string>1</string>.

...