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.

{i} 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

{i} 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

alacarte

not needed

brasero

done

bug-buddy

not needed

cheese

done

dasher

not needed

deskbar-applet

not needed

ekiga

not needed

empathy

done

eog

not needed

epiphany

done

evince

done

evolution-data-server

not needed

evolution

done

evolution-exchange

not needed

evolution-mapi

not needed

evolution-webcal

not needed

file-roller

done

gcalctool

not needed

gconf-editor

not needed

gdm

not needed

gedit

done

gnome-applets

not needed

gnome-backgrounds

not needed

gnome-control-center

not needed

gnome-desktop

to do

gnome-desktop-sharp

to do

gnome-doc-utils

to do

gnome-games

to do

gnome-icon-theme

to do

gnome-keyring

to do

gnome-netstatus

to do

gnome-nettool

to do

gnome-mag

to do

gnome-media

to do

gnome-menus

to do

gnome-panel

to do

gnome-power-manager

to do

gnome-python-desktop

to do

gnome-screensaver

to do

gnome-session

to do

gnome-settings-daemon

to do

gnome-sharp

to do

gnome-speech

to do

gnome-system-monitor

not needed

gnome-system-tools

not needed

gnome-terminal

to do

gnome-themes

to do

gnome-user-docs

to do

gnome-user-share

to do

gnome-utils

done

gok

to do

gucharmap

to do

hamster-applet

done

metacity

to do

mousetweaks

to do

nautilus

to do

orca

done

seahorse

to do

sound-juicer

done

tomboy

patch

totem

done

totem-pl-parser

to do

vinagre

to do

vino

to do

yelp

to do

Admin

pessulus

to do

sabayon

to do

Development Tools

accerciser

done

anjuta

not needed

devhelp

not needed

gdl

to do

glade3

done

gnome-devel-docs

to do

External Dependencies

conduit

done

Other

abiword

to do

atomix

to do

banshee

done

banter

to do

beagle

to do

contact-lookup-applet

to do

dia

to do

f-spot

done

ghex

done

gimp

patch

<: #ffc849> [[GnomeBug:676192|patch]]

glom

to do

gnome-blog

to do

gnome-bluetooth

to do

gnome-cups-manager

to do

gnome-disk-utility

to do

gnome-main-menu

to do

GNOME Phone Manager

to do

gnome-mud

to do

GParted

done

Gnumeric

done

gossip

to do

gtetrinet

to do

gthumb

done

gtranslator

to do

krb5-auth-dialog

to do

nautilus-sendto

to do

nautilus-vcs

to do

nemiver

done

NetworkManager

to do

ontv

done

Planner

done

rhythmbox

done

xchat-gnome

to do

Initiatives/GnomeGoals/CorrectDesktopFiles (last edited 2013-12-18 13:44:52 by LuisMenina)