GNOME Goal: Remove "Application" category from .desktop files

"Application" isn't a valid category in the desktop specification, and however, it's being widely used by GNOME modules in their .desktop files.

The mission is to remove the category "Application" from the .desktop file. This is also the perfect opportunity to make sure that the "GNOME" category is used.

You should find the file foo.desktop.in.in, and remove "Application" from the field "Categories". If the "GTK" and/or "GNOME" categories are missing, you should add them as well. You can also verify that the other categories are correct for this application (see the menu spec for valid categories).

A foo.desktop.in.in file which looks like this:

...
Type=Application
Categories=GTK;Application;Graphics;RasterGraphics;Viewer;
X-GNOME-Bugzilla-Bugzilla=GNOME
...

After your modifications, should look like this:

...
Type=Application
Categories=GNOME;GTK;Graphics;RasterGraphics;Viewer;
X-GNOME-Bugzilla-Bugzilla=GNOME
...

If a particular module doesn't include a foo.desktop.in.in file, you should look for a foo.desktop.in.

This file is typically in the base directory of the module, but for some modules it can be found inside a "data/" directory. A bit of "find" magic could be useful if it's not straightforward to find. I (ab)used this script to find the bad guys:

for i in `find . -name '*desktop*.in' `; do grep -H Categories $i | grep Application; done

Also, it is possible to use a OnlyShowIn field in the .desktop files to specify that the application should only appear in the menus of a specific environment. A good example is gnome-about.desktop: the About GNOME program should only appear in GNOME, so its desktop file should contain:

...
OnlyShowIn=GNOME;
...

You should verify that it makes sense for the .desktop file of the application to only be shown (or to not only be shown, if this field is not present) in GNOME. It's possible to only show the application in multiple environments by using a list like this: "GNOME;XFCE;". Valid values for this field are in the menu spec.

Once you're done, you should do a sanity check by running make and verify that the .desktop file generated is valid. Use for this desktop-file-validate on the resulting foo.desktop. For a sane desktop file, there shouldn't be any output:

 $ desktop-file-validate foo.desktop
 $

{i} It is important that you don't change the place where the application appears in the menu layout, nor change any other user visible properties that would be breaking the UI freeze.'

Status of this goal

When starting to work on one module, you can also put your name in the status so that other people don't duplicate the work you're doing.

State

Markup

todo

<: #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.

Module

Status

Desktop

alacarte

not needed

bug-buddy

done

control-center

not needed

localization and file-types capplets - bug resolved invalid "The file-types and localization capplets are neither distributed nor maintained"

dasher

not needed

deskbar-applet

not needed

eel

not needed

ekiga

not needed

eog

done

epiphany

done

evince

done

evolution-data-server

not needed

evolution

not needed

evolution-exchange

not needed

evolution-webcal

not needed

fast-user-switch-applet

not needed

file-roller

done

gcalctool

done

gconf-editor

done

gdm

done

gedit

done

gnome-applets

done

invest-chart applet

gnome-backgrounds

not needed

gnome-desktop

done

gnome-about

gnome-doc-utils

not needed

gnome-games

done

glchess and gnome-sudoku

gnome-icon-theme

not needed

gnome-keyring

not needed

gnome-keyring-manager

done

gnome-netstatus

not needed

gnome-nettool

done

gnome-mag

not needed

gnome-media

done

gnome-menus

not needed

gnome-panel

not needed

gnome-power-manager

done

gnome-power-statistics

gnome-python-desktop

not needed

gnome-screensaver

done

gnome-session

done

gnome-speech

not needed

gnome-system-monitor

done

gnome-system-tools

done

users, boot, shares, network, disks, time

gnome-terminal

done

gnome-themes

not needed

gnome-user-docs

not needed

gnome-utils

done

gnome-screenshot, baobab, gnome-dictionary,gsearchtool,logview,gfloppy

gnome-volume-manager

done

gok

done

gstreamer

not needed

gst-plugins

not needed

gtk-engines

not needed

gtkhtml

not needed

gtksourceview

not needed

gucharmap

done

libgail-gnome

not needed

libgnomekbd

done

libgtop

not needed

liboobs

not needed

librsvg

not needed

libsoup

not needed

libwnck

not needed

metacity

not needed

nautilus

done

nautilus-cd-burner

not needed

network-manager-applet

not needed

orca

done

scrollkeeper

not needed

seahorse

done

sound-juicer

done

tomboy

done

totem

done

vino

done

vte

not needed

yelp

done

zenity

not needed

Platform

GConf

not needed

at-spi

not needed

atk

not needed

gail

not needed

glib

not needed

gnome-mime-data

not needed

gnome-vfs

not needed

gtk+

not needed

gtk-doc

not needed

intltool

done

testcase extract13.desktop.in

libglade

not needed

libxml2

not needed

libxslt

not needed

pango

not needed

pkgconfig

not needed

Platform (to be deprecated)

ORBit2

not needed

audiofile

not needed

esound

not needed

libIDL

not needed

libart_lgpl

not needed

libbonobo

not needed

libbonoboui

done

bonobo-browser

libgnome

not needed

libgnomecanvas

not needed

libgnomeui

not needed

Admin

pessulus

done

sabayon

done

Development Tools

anjuta

done

devhelp

done

glade3

done

Other

gossip

done

gthumb

done

rhythmbox

done

straw

done

xchat-gnome

not needed

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