NAME
mopen, mopen1 - Application launcher (including Mono, Moonlight and
Silverlight).
SYNOPSIS
mopen [options] file [arguments...]
DESCRIPTION
The mopen command is a tool to open applications, XAML files or
packages that contains executables, images and other resources in a
directory, it is designed to launch Silverligh 2.0 applications. For
testing only 1.0 applications use the mopen1 command.
In addition to launching these applications, it is possible to run
multiple applications using the same Mono virtual machine. This is
useful for example if you want to run a collection of small
applications, gadgets or widgets and do not want to pay the price of
memory consumption of running one entire virtual machine for every
application. This is achieved by using Mono Application Domains: the
equivalent to processes within a Mono virtual machine, and it is the
same infrastructure used by ASP.NET applications to run multiple
isolated applications in the same virtual machine.
In its simplest incarnation, you can open a XAP file like this:
$ mopen /opt/myapp/test.xap
This will load the test.xap file which is a self-contained Silverlight
application.
It is possible to also load 1.0-style Silverlight applications by
passing it a XAML file and using the mopen1 command instead:
$ mopen1 /opt/myapp/test.xaml
This will laod the xaml file and all of the dependencies it might have
from the directory where test.xaml is located.
mopen also supports launching these applications if they are contained
in a directory thta is on the PATH and such directory contains a file
called "default.xaml" or "main.exe".
In the case of applications that start up from XAML, the default size
of the window will be the one specified for the Canvas unless the
--geometry option has been used
With this configuration it is possible to have entire applications that
are packaged in a directory and can be deployed and copied by copying
the entire directory (drag and dropping the directory, using cp -a, or
any other mechanism to copy a directory).
OPTIONS
The following options are available:
--debug
Passes the flag --debug to the Mono runtime, enabling a line
numbers and a couple of other debugging features.
--gdb This starts up Mono with gdb and prints out the command that you
should use to debug mopen. This is useful when debugging XAML
files that cause problems with Moonlight.
--desklet , -d
Turns on desklet mode. In this mode the window decoration is
not shown and the default rendering mode will enable alpha
transparency. This means that anything painted with an alpha
channel will be properly transparent.
-f , --fixed
Makes the toplevel window fixed, prevents the user from resizing
it.
--geometry=GEO , -g GEO
Sets the geometry of the window to be GEO, the format for this
is WIDTHxHEIGH where WIDTH and HEIGHT are integers, for example:
mopen -g 1024x768
--host NAME
Loads the application into the host identified by NAME. If no
host is specified this application is loaded into its own
virtual machine and can not be shared with others.
--stories , -s
Triggers one by one all the named Storyboards in the given XAML
file when you click on the canvas surface.
--parseonly , --parse-only
Parse the XAML file but does not open a window. Useful for
testing.
--story=N1[,N2]
Runs the storyboard named N1 when the mouse is clicked (this is
the x:Name property on the XAML file). The storyboard playback
will cycle if you keep clicking. You can use it like this:
mopen --story FadeIn demo.xaml mopen --story
FadeIn,FadeOut demo.xaml mopen --story FadeIn --story
FadeOut demo.xaml
--transparent , -t
Enables the alpha channel on the rendering surface. Any areas
that are rendered with non-opaque values will be properly
composited against the underlying background by the system
compositing manager.
--timeout=X
Close the mopen window after X seconds. Useful for testing.
SHARING A VIRTUAL MACHINE
To load multiple independent applications into a single virtual machine
(the virtual machine will isolate each application from each other
using Application Domains, or AppDomains) you use the --host option
with the name of the domain where you want to load your application.
For example, if you wanted to load various desktop gadgets on a single
process, you would load them like this:
mopen --host desktop calendar
mopen --host desktop stocktracker
mopen --host desktop flicker-best-images
mopen --host desktop cute-clock
You could load a separate set of programs on another VM, for example
while developing code that might be unstable:
mopen --host devel mytestapp
To load a desklet, you would use:
mopen --desklet mydesklet
FILES
When a file is specified, if it exists on the current directory, that
one is loaded, otherwise directories on the PATH are searched and if
they contain the file default.xaml or the file main.exe Those are
loaded and launched
MAILING LISTS
Mailing lists are listed at the http://www.mono-
project.com/Mailing_Lists
In addition Moonlight is discussed in the "Olive" group:
http://groups.google.com/group/mono-olive
WEB SITE
http://www.mono-project.com
SEE ALSO
mono(1),svg2xaml(1)
mopen(Mono 1.2, Moonlight 1.0)