[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Gnome menu customization best practices?



Hi all,

I've spent several days googling and experimenting with Gnome VFS
and the Gnome panel trying to come up with a way to easily customize
the Gnome menus for Componentized Linux in a way that 1. doesn't
violate Debian policy; and 2. diverges from Debian as little as
possible. One constraint is that, because CL is a toolkit for
building custom distros, we want to make it easy for distro
builders to provide their own custom menus. So, ideally, it's as
simple as providing a package that supplies the custom menus,
similarly to the cl-branding mechanism I outlined in the last message.
Even more ideally, we can jointly come up with a way to do it that
works for all CDDs and that can submitted to Debian proper post-sarge.

Here's what I've learned thus far:

There are two ways to customize the Gnome menus: 1. editing the files in
/etc/gnome-vfs-2.0/vfolders (and, in particular,
applications-all-users.vfolder-info and
preferences-all-users.vfolder-info, which specify the Applications and
Preferences menus, respectively); and 2. editing the .desktop
files supplied by the Debian packages to change the categories, which
determine where in the menus the menu items appear (and that's
assuming the custom distro is happy with the default menu structure).

Number 1 seems to be a non-starter, as the files are all conffiles owned
by the libgnomevfs2-common package. So, providing modified versions of
these files would seem to require forking
the libgnomevfs-2 package, something I'd really rather not have to do.

To accomplish number 2, I could supply my own .desktop files in separate
packages (e.g., evolution-defaults, which installs a modified
evolution-2.0.desktop file somewhere that puts it in the Internet
category rather than the Office category), but the default
applications-all-users.vfolder-info file
specifies /usr/share/applications first, so putting them
in /etc/X11/applnk (also specified as a source in
applications-all-users.vfolder-info) either results in
duplicate menu entries (if I give the .desktop files
different names) or in the default menu entries being shown
(if I use the same names as /usr/share/applications).

So, it seems like the best way forward is to divert the .desktop files
in /usr/share/applications, but I'm not particularly keen on doing this
either, as I'll have to divert dozens and dozens of files, and I still
don't have a way of changing the menu structure if I want to do that.

How are other CDDs dealing with this? I've read that some of you are
using cfengine to replace conffiles, but that would seem to suffer from
the same problem as diverting a conffile, i.e., upgrades are not dealt
with particularly gracefully. In other words, it's not a particularly
good idea for the same reason it's not a particularly good idea to
divert conffiles, with the only difference being that it doesn't
technically violate Debian policy. (Please correct me if I'm wrong.)

-- 
Ian Murdock
317-578-8882 (office)
http://www.progeny.com/
http://ianmurdock.com/

"A door is what a dog is perpetually on the wrong side of." --Ogden Nash




Reply to: