Working Wine Activity

Benjamin M. Schwartz bmschwar at fas.harvard.edu
Fri Apr 25 15:58:39 EDT 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Short:
You can try out the simplest possible Wine-based activity here.  It's
really working now.
http://dev.laptop.org/~bemasc/DOSConsole-3.xo

Long:
This Wine-based activity incorporates the latest fixes to Wine (0.9.60),
which make the Desktop window behave better with Matchbox.  It also uses
Albert Cahalan's Sugarize code to integrate with the launcher notification
system.  It runs in Wine's "Desktop Window" mode, which provides a single
X window containing all the Windows windows, as well as handling the
decorations.  The effect is much like the proposed X-in-X solutions for
legacy X applications.  However, Wine also provides the Windows clipboard
as a layer over the X clipboard, so copy-paste to/from applications in
Wine appears to work perfectly.

My goal, in part, is to be able to say "you don't need Windows to run that
application; you can trivially pack it up as an Activity and run it in
Sugar".  To that end, the .xo contains step-by-step instructions for
converting the DOSConsole activity into the
MyParticularEducationalWindowsApp activity.

Politically, I consider this goal somewhat controversial, because it
suggests that I believe there is demand for running Windows applications.
~ In fact, I do not know of any such demand, and this is rather a
_pre-emptive_ answer to people who may suggest that there is.  I hope it
will be useful, and I hope it will rarely be used.

This framework makes no attempt to integrate with the journal. In the
current implementation, "DOSConsole" will never appear in the Journal, as
far as I can tell.  Instead, all files and state are stored in the /data
directory for the activity.  This effectively makes each Windows-based
activity its own virtual Windows machine.  As the launch and datastore
API's change, this integration may become easier.  However, I do not think
it is critical, especially for the stateless game-style programs that are
very common in the world of Windows educational software.

The system appears to be production-ready, and I would welcome anyone who
has an actual Windows program that they would like to run as a Sugar
activity.  The only significant remaining bug I am aware of is that the
system is likely to get screwy if the user attempts to launch two
instances of the same Wine-based activity at the same time.

- --Ben Schwartz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIEjfvUJT6e6HFtqQRAv4BAKCC02ihk4G8u7gR/BjMKziBCl71xACeOFrx
UqaASpJospRU46+5XJuEAM8=
=KzUR
-----END PGP SIGNATURE-----



More information about the Devel mailing list