Start menu shortcuts
Yaakov (Cygwin/X)
yselkowitz@users.sourceforge.net
Sun Sep 6 07:43:00 GMT 2009
On 02/09/2009 14:59, Charles Wilson wrote:
> IMO, each (X) package should, in its own postinstall script, create the
> start menu shortcut it needs, using mkshortcut from cygutils.
Well, perhaps GUI X packages. A lot of the X.Org apps are diagnostical
in nature and hence are designed to be run from the command line. There
are a few which provide real functionality (nothing that isn't available
elsewhere with a modern GUI), and even those don't show up in the
standard X11 desktop menus.
> That postinstall script should also invoke whatever tool is necessary and
> supported to add its opendesktop menu items to the cygwin area, so that
> cygwin/gnome and/or cygwin/kde window managers are happy -- at the
> package maintainer's discretion.
If you are referring to /usr/share/applications/*.desktop used by
GNOME/KDE/Xfce/LXDE, those files are shipped by each package and are
part of the tarball, not created by postinstall. For those GUI packages
which don't ship a .desktop menu, one can be created by calling
make_desktop_entry() in src_install().
> I believe Yaakov's ideas revolve around automating this with certain
> primitives to be invoked within .cygport packaging scripts.
That was my original train of thought. But as there already exists a
cross-desktop menu system in the X11 world, I would rather find a way to
use that instead, rather than maintaining a second menu system just for
Cygwin.
My grand idea would be for XWin itself to implement the desktop menu,
parsing /usr/share/applications/ on startup, and generating a menu
structure that could be used in .XWinrc as so:
menu root {
"Reload .XWinrc" RELOAD
"Applications" LAUNCHER
SEPARATOR
}
ROOTMENU root
The attached script provides an example of what such a menu would look
like in XWin if done manually. I just put this together, so it's a bit
rough, but it should give you an idea of the result (but obviously not
the implementation).
OTOH, someone would have to write this parser -- we probably can't use
any of the existing ones, since most of them have dependencies beyond
those of XWin, and are under licenses which are more restrictive than
MIT/X11. And as a Windows app, XWin knows only about .ICO icons, so
supporting the PNG/SVG icons typically used in FD.o menus would be more
work.
If that is not plausible, then I suppose the fallback would be to have
cygport handle this by parsing the .desktop file, generating a
postinstall mkshortcut command, and creating an .ICO from the
corresponding PNG/SVG with ImageMagick/GraphicsMagick/Netpbm/etc. The
major drawback of this approach is in the case of split-packages, as
this would require some special handling of the postinstall, as well as
changes to each subpackage's .list file or _CONTENTS variable.
> How to manange the transition, from the monolithic X-start-menu-icons
> package and script, to this distributed approach -- no idea.
Either way, the transition means obsoleting X-start-menu-icons by
causing it to be uninstalled through "upgrading" it to an empty tarball.
Yaakov
Cygwin/X
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: xwinmenu.sh
URL: <http://cygwin.com/pipermail/cygwin-apps/attachments/20090906/9e2c1dd2/attachment.ksh>
More information about the Cygwin-apps
mailing list