2010-04-01 2 views
0

독에 표시해서는 안되지만 때때로 창이 표시되는 Mono 응용 프로그램이 있습니다. 이 응용 프로그램에 메뉴 막대 나 도크 아이콘을 표시하지 마십시오. 내 응용 프로그램을 응용 프로그램 번들에 래핑 된 및 내 info.plist 파일을 LSUIElement "1"로 설정되어 있습니다. Dock에서 내 응용 프로그램을 숨기고있는 것 같지 않습니다.OSX Dock에서 Mono 응용 프로그램을 숨기는 방법

나는 또한 Process.Start를에 다음 정보와 osascript 호출 시도했다

:

이이 시스템을 반환 ' "시스템 이벤트"응용 프로그램을 알려 false로 처리 "MyApp를"눈에 보이는 설정'-e osascript 이벤트 오류 코드 : -10006. 지금까지, 나는 그것이 의미하는 것을 발견하는 행운이 없었다.

저는 Mono 내부의 모든 표준 Hide() 및 Visibility = false 항목도 시도했습니다.

누구든지이 문제를 해결하거나 내가 볼 수있는 방향을 생각할 수 있습니까? 대부분의 경우 Mono에서의 작업은 간단합니다. 닷넷 코딩, 그러나 이것은 저를 곤혹스럽게합니다.

답변

1

글쎄, 상당한 양의 작업을 마친 후에, 나는 이것을 할 수있는 더 좋은 방법을 찾아 냈다. OSX를 대상으로 Silverlight + 모노 응용 프로그램을 생성하고 있습니다. 나는 같은 버튼 누르기에서 두 가지를 모두 시작해야했습니다.

Silverlight OOB 설치 프로세스가 생성하는 번들 내에서 bash 스크립트 명령으로 해결하고 일부 rsync 명령과 함께 생성 된 번들을 배포했습니다.

(모노의 macpack 도구를 사용하여 만든) 서버 비트 실행 라인 : 개방 MyApp.app &

다음 실버 라이트 OOB 응용 프로그램을 정상적으로 실행 라인을 : ./Silverlight $ @ &>/dev에/null

'$ @'비트는 모든 초기 인수를 OOB 앱의 Silverlight 실행 파일로 전달합니다. 즉, Info.plist를 실행하여 자신의 실행기를 시작해야하므로 'Silverlight'실행 파일이 Silverlight 업데이트에 덮어 쓰이지는 않지만 매우 잘 작동하는 것 같습니다.

0

이 당신을 위해 무엇을 찾고 있습니다 : 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>를 추가합니다.

+0

나는이 옵션들을 모두 시험해 보았는데, 당시에는 제대로 작동하지 않았다. LSUIElement에 대해 이해할 수 없거나 누락 된 부분이있을 것입니다. 이 시점에서 업데이트를 통해 내가 보았던 동작을 수정할 수있었습니다. 내가 사용하고있는 솔루션이 잘 작동하므로 더 이상 실험을하지 않았습니다. – Chris

관련 문제