PATCH: Initial stab at adding application bundle support to winemenubuilder for Mac OS X

Steven Edwards sedwards at
Wed Jul 22 03:14:49 CDT 2009

This patch is not really much however it represents about two months
of part-time research to understand Applications Bundles, how they
work and how best to tie them in to Winehq code. Its not going to be
an overnight process as we really need to clean things up a bit in
winemenubuilder so as not to step on or over the xdg support. I want
to try to merge up as often as possible and seek as much feedback as
possible so I've tried to insert this as seamlessly as possible so as
not to cause a problem with the existing code. I've slightly hacked
around some warnings that are generated when compiling the code on
Linux and test on that platform to insure there is no regression.

This first version just creates a Bundle for a given binary in
~/Applications/wine. I've been testing with the Word 2003 viewer and
it works perfect for starting the application. You can drag said
bundle anywhere you want in the filesystem and it will always start. I
elected to go for ~/Applications/wine as it seemed the most logical
after discussing with Ken and reading over the Apple developer
documentation. To support writing directly to /Applications we might
have to prompt for root access and given that Wine prefixes are local
to the user, it does not make much sense to put an app bundle in a
global location on the off chance multiple people make use of the

Please provide feedback if I should convert the current fprintf calls
to CoreFoundation APIs for creation of the Property List's that are
used in bundles. I would rather keep it the way it is while we are
doing initial development as I have a felling most of the Wine hackers
eye's glaze over when they see OS X patches and by keeping things
clean using standard C functionality, maybe it will keep more interest
and help spot more errors. Once we are closer to having the bundle
support stable, then I plan on converting things over to the
CoreFoundation Property List API.

My next goal is to get icon creation and or conversion working working
on the Mac side so our .app bundles don't look quite so lame. After
that we will look in to other issues such as associations and perhaps
(well down the road) look back in to some sort of helper application
so we can do more than just start Wine programs with App Bundles.

Steven Edwards

"There is one thing stronger than all the armies in the world, and
that is an idea whose time has come." - Victor Hugo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Initial-shot-at-teaching-winemenubuilder-how-to-outp.patch
Type: application/octet-stream
Size: 13506 bytes
Desc: not available
URL: <>

More information about the wine-patches mailing list