Extending winemenubuilder to create Application Bundles on OS X

Steven Edwards winehacker at gmail.com
Wed Jun 3 02:15:36 CDT 2009

Recently I've been doing a lot of hacking on my local tree for OS X
projects. The lack of support in winemenubuilder to generate
application bundles for installed applications from ShellLinks like we
do for FreeDesktop items has been killing me. I've just been building
simple wrapper scripts which is fine but very ugly. I've recently
spoken with Sveinbjorn Thordarson who wrote the Platypus App Bundler
(which is a very kick-ass utility) and he has allowed me to use his
code under LGPL to extend winemenubuilder.

Some nice things about Platypus is that while its written in Objective
C, its very modular and already has an optional cli interface. I'm
pretty sure I can isolate out all of the stuff we don't need in short
order and extend winemenubuilder a bit with its code as a reference.
I'm going to file a detailed bug report describing how we need to
extend winemenubuilder, what application bundles are, and what else we
will need.

If anyone is interested in jumping in and helping, we still need to do
conversion from *.ico to a *.icns icons which requires a bit of
hacking. Currently I'm doing something like the following

1. hacked winemenubuilder converts and export the icon (*.ico file) to png
2. convert from png to tiff
  sips -s format tiff [png file] --out [(converted file).tiff]
3. Convert tiff to icns
  tiff2icns -noLarge [tiff file] [icns file]

I kind of doubt Alexandre will want a patch doing all of this
conversion for simple icons and I'm sure someone has to have
documented icns somewhere. The iPhone App bundles seem to support
*.png icons but from my reading it does not seem that standard OS X
applications do. Maybe this will change in Snow Leopard, I've tried to
hack my test bundles and make them use normal png images without much
luck. If your interested in helping, researching this and if needed,
adding exporting the icon resources straight to icns would be a good
place to start.

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

---------- Forwarded message ----------
From: Sveinbjorn Thordarson <sveinbjornt at simnet.is>
Date: Sat, May 30, 2009 at 9:13 AM
Subject: Re: Web Email Form: Developing a Platypus-lite for Wine
To: winehacker at gmail.com

Hello there,

I would be happy to relicense parts of the Platypus code under the
LGPL.  Please feel free to use it as you like under those terms.

All the best,
Sveinbjorn Thordarson

On 30 May 2009, at 04:22, winehacker at gmail.com wrote:

> Hi,
> I am writing because I am wondering if you would be willing to relicense some code I might need under the LGPL.
> I am interested in adding support to Wine's menubuilding application which creates FreeDesktop menus and desktop launchers under Linux for Windows based applications. Currently it parses either a *.lnk or a given executable to generate a *.desktop file for use under Gnome or KDE. When running Wine under OS X, it for the most part sucks because we cannot generate menus of any type. I'd like to take platypus, rip out everything I don't need and just use parts of it in winemenubuilder.
> The only problem is Wine is LGPL and your project is GPL. Since I know NOTHING of Obj-C and am new to OS X development in general your tool would save me a lot of time as a frame of reference but I do not wish to violate your copyright in any way.
> Would it be acceptable for me to use parts of your code under the LGPL in this fashion?
> Thanks
> Steven

More information about the wine-devel mailing list