[Mono-osx] How to hide mono and windows form in Mac Dock

Baker, GJ (Gareth) gareth.baker at stfc.ac.uk
Thu Feb 5 11:05:37 EST 2009


I should have checked before posting - the plist key should be
LSUIElement NOT NSUIElement. OSX also keeps a cache of this file so you
either need to regenerate the app with the new info.plist or copy it to
the Desktop and back again.

This does not seem to remove the mono icon from the dock - not sure
about that one.

Regards
Gareth Baker


-----Original Message-----
From: mono-osx-bounces at lists.ximian.com
[mailto:mono-osx-bounces at lists.ximian.com] On Behalf Of d_v
Sent: 05 February 2009 15:17
To: mono-osx at lists.ximian.com
Subject: Re: [Mono-osx] How to hide mono and windows form in Mac Dock




Sandy Armstrong wrote:
> 
> On 02/05/2009 05:29 AM, d_v wrote:
>>
>>
>> Sandy Armstrong wrote:
>>> On 02/04/2009 01:16 PM, d_v wrote:
>>>> Hi there,
>>>>
>>>> I figure I can not run my C# 2.0 .NET Windows Service on mono, so I
am
>>>> running the equivalent Windows Form (application) on mono.
>>>>
>>>> However the script editor, mono, and sometiimes the form (windows
state
>>>> is
>>>> set to minimized) are all visible in the Dock.  I use a script to
>>>> launch
>>>> mono and the .exe.
>>>>
>>>> What do you advise is the best way to hide these programs from the
>>>> Dock?
>>>> I am hoping for a manual way to do this and maybe a way to do it in
>>>> setup/or
>>>> code so I do not have to bother the user with setting this up.
>>> Make a Mac app bundle.  Download the OS X versions of MonoDevelop,
>>> Banshee, or Tomboy for examples of how this is done.  These are all
gtk#
>>> apps, but I don't see why it wouldn't work with winforms apps.
>>>
>>> By the way, there's a mono-osx list that might be more helpful with
>>> future Mac questions.
>>>
>>> Best,
>>> Sandy
>>> _______________________________________________
>>> Mono-osx mailing list
>>> Mono-osx at lists.ximian.com
>>> http://lists.ximian.com/mailman/listinfo/mono-osx
>>>
>>>
>>
>>
>> Thanks for the tip.
>> So I started looking up "Mac bundles" and I found this link:
>> http://www.mono-project.com/Guide:Running_Mono_Applications and a
section
>> at
>> the very end called "Macpack, Mac OS X only"
>>
>> Is this the way I do it?  But I am not using cocoa sharp...
> 
> I don't personally know.  Banshee has some stuff integrated in their 
> makefiles.  When I make my bundles for Tomboy and Tasque I use a
little 
> script:
> 
> http://svn.gnome.org/viewvc/tomboy/trunk/bundle-mac-app.sh?view=markup
> 
> Notice that in SVN I keep a "skeleton" of the .app hierarchy (in a 
> directory called "osx").  Then I just copy the skeleton and the
binaries 
> to the right folder.
> 
> You can right-click any app and "Show Package Contents" to get an idea

> of how things are laid out, too.
> 
> Sandy
> _______________________________________________
> Mono-osx mailing list
> Mono-osx at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-osx
> 
> 


Thanks Sandy,

This creates a bundle for me nicley (Now it hides the apple script form
the
Dock, but I still can't hide mono and my application from the Mac OS X
10.5.6 dock).

http://code.google.com/p/cocoa-sharp-dev/wiki/WinFormsTutorial  (macpack
tutorial)

Terminal command to build a Mac OS X bundle with Macpack:
   macpack -n:MyApp -a: MyApp.exe -o:. -m:1 

This will create a Mac bundle and optionally (-r) copy your DLLs and
support
files to the Resources subfolder in the package.  The new bundle can be
launched by double-clicking on it in the finder.  The finder reads the
directory tree and realizes that it is really an App and treats the
bundle
like a single file. If you want to explore the subdirectory, you need to
right click (or Ctrl-click for single button mice) and select "Show
Package
Contents". 

Ensure all DLLs and support files (.exe.config) are in the Resources
folder. 
Note: that if you are using
System.Reflection.Assembly.GetExecutingAssembly().Location  code in C#
code,
it will now point to the bundle name by default, not the .exe name, so
save
the bundle with the same root name as the .exe (you can rename the
bundle
later or try the Info.plist file).  


This is what my Info.plist file looks like:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleIdentifier</key>
	<string>MyApp</string>
	<key>CFBundleExecutable</key>
	<string>MyApp</string>
	<key>CFBundleIconFile</key>
	<string></string>
	<key>NSUIElement</key>
	<string>1</string>
</dict>
</plist>

-- 
View this message in context:
http://www.nabble.com/How-to-hide-mono-and-windows-form-in-Mac-Dock-tp21
839765p21853372.html
Sent from the Mono - OSX mailing list archive at Nabble.com.

_______________________________________________
Mono-osx mailing list
Mono-osx at lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-osx



More information about the Mono-osx mailing list