GNOME Goal: Correct Desktop Files
Summary
Currently the usage of Name and GenericName is quite a mess, mostly because the panel (and other components) wants to have menu entries more explicit than just a "brand" name and used the Name key to achieve this, while the specification tells the Name key is for the specific name of the application, for example "Mozilla" (in GNOME we would have modified this to have "Mozilla Web Browser" in the Name key). This is why GenericName is often duplicated in Name (for example "Rhythmbox Music Player").
Also we don't want menu entries in the panel to change, and we can't combine programmatically Name and GenericName for i18n reasons, therefore a new key has been proposed, FullName. As it has not yet been added to the specification, a X-GNOME-FullName variant will be used in the meantime.
The objective of this Goal is to fix the current usage of the Name key, adding X-GNOME-FullName when necessary, to gain back a compatibility with other desktop environments, and gnome-shell.
You can see the .desktop file specification here and freedesktop discussion here
Freedesktop discussion conclusion: http://mail.gnome.org/archives/desktop-devel-list/2009-August/msg00117.html
Guidelines
You should change the .desktop files of each application (quite often they are preprocessed, so .desktop.in, or .in.in)
Rules
- If Name is just the application name, leave alone
If there is no GenericName, leave alone
If Name == GenericName: remove GenericName
- If Name embeds both the application name and the generic name
Add X-GNOME-FullName, with what was in Name
- Set Name to the application name only
Example 1: ''Rhythmbox''
[Desktop Entry] _Name=Rhythmbox Music Player _GenericName=Music Player
the goal would be to have:
[Desktop Entry] _Name=Rhythmbox _GenericName=Music Player _X-GNOME-FullName=Rhythmbox Music Player
Example 2: When Name == GenericName is better to remove GenericName
[Desktop Entry] _Name=Music Player _GenericName=Music Player
the goal would be to have:
[Desktop Entry] _Name=Music Player
Comments before approval
ChPe: As the header here clearly states, this is a proposal only at this time. I don't see any discussion about this e.g. on d-d-l or anwhere else within Gnome; yet there are bugs being filed for applying this goal to various Gnome modules. Why is that?
ChPe: Several Gnome desktop applications have explicitly rejected using their project name in the desktop file like this. E.g. totem (471235), gucharmap. gnome-terminal, evince.
mccann: Some general rules:
- Desktop file Name value, application menu (for gnome-shell), titlebar (for GNOME 2.x), documentation, and about dialog should all use the same name
- Desktop file Name value should be the simple "brand" name unless the application is a core GNOME built-in and does not have an external brand identity (web site, online help, etc)
Examples:
It doesn't make sense for Dictionary or Calculator (GNOME is implied) to be separately branded. It is fairly clear that something like Rhythmbox or Banshee is branded. There is a bit of a gray area in between where things are core accessories but have an external brand identity: gedit. And there are things like Totem which actually do bit more than the generic name classification implies (Movie Player plays songs according to the description and youtube, etc).
gedit is indeed tough because the name doesn't "read" well and it is a pretty core component. However, it does have an external presence and the authors feel it should be called gedit.
Add your comments to this goal proposal here |
Status of this goal
Note: Updated automatical stats can be found at http://www.gnome.org/~fpeters/reports/desktop_generic_name.html
Tip: If you choose to work on a module, create the bug report on the GNOME bugzilla for the relevant module, and make it block bug 588975. This way people will know someone already works on it, and won't duplicate the work you're doing. |
State |
Markup |
to do |
<: #ff8080> todo |
patch |
<: #ffc849> [[GnomeBug:xxxxx|patch]] |
done |
<: #80ff80> [[GnomeBug:xxxxx|done]] |
not needed |
<: #80ff80> not needed |
Above are the states and corresponding markup to update the modules state table below.
Tarball |
Status |
|
Desktop |
||
not needed |
||
not needed |
||
dasher |
not needed |
|
not needed |
||
not needed |
||
not needed |
||
evolution-data-server |
not needed |
|
evolution-exchange |
not needed |
|
evolution-mapi |
not needed |
|
evolution-webcal |
not needed |
|
file-roller |
||
not needed |
||
not needed |
||
not needed |
||
not needed |
||
gnome-backgrounds |
not needed |
|
gnome-control-center |
not needed |
|
gnome-desktop |
to do |
|
gnome-desktop-sharp |
to do |
|
to do |
||
to do |
||
gnome-icon-theme |
to do |
|
gnome-keyring |
to do |
|
gnome-netstatus |
to do |
|
gnome-nettool |
to do |
|
gnome-mag |
to do |
|
to do |
||
gnome-menus |
to do |
|
to do |
||
gnome-power-manager |
to do |
|
gnome-python-desktop |
to do |
|
to do |
||
gnome-session |
to do |
|
gnome-settings-daemon |
to do |
|
gnome-sharp |
to do |
|
to do |
||
gnome-system-monitor |
not needed |
|
not needed |
||
gnome-terminal |
to do |
|
to do |
||
gnome-user-docs |
to do |
|
gnome-user-share |
to do |
|
to do |
||
to do |
||
hamster-applet |
||
metacity |
to do |
|
mousetweaks |
to do |
|
orca |
||
to do |
||
tomboy |
||
totem-pl-parser |
to do |
|
vinagre |
to do |
|
vino |
to do |
|
to do |
||
Admin |
||
to do |
||
sabayon |
to do |
|
Development Tools |
||
accerciser |
||
anjuta |
not needed |
|
devhelp |
not needed |
|
gdl |
to do |
|
glade3 |
||
gnome-devel-docs |
to do |
|
External Dependencies |
||
conduit |
||
Other |
||
abiword |
to do |
|
atomix |
to do |
|
banshee |
||
to do |
||
to do |
||
contact-lookup-applet |
to do |
|
to do |
||
f-spot |
||
ghex |
||
gimp |
patch |
<: #ffc849> [[GnomeBug:676192|patch]] |
glom |
to do |
|
gnome-blog |
to do |
|
to do |
||
gnome-cups-manager |
to do |
|
gnome-disk-utility |
to do |
|
gnome-main-menu |
to do |
|
GNOME Phone Manager |
to do |
|
to do |
||
GParted |
||
to do |
||
gtetrinet |
to do |
|
gthumb |
||
to do |
||
krb5-auth-dialog |
to do |
|
nautilus-sendto |
to do |
|
nautilus-vcs |
to do |
|
nemiver |
||
to do |
||
to do |