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 $
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 |
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 |
||
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 |
||
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 |
gnome-power-statistics |
|
gnome-python-desktop |
not needed |
|
gnome-screensaver |
done |
|
gnome-session |
done |
|
gnome-speech |
not needed |
|
gnome-system-monitor |
||
gnome-system-tools |
users, boot, shares, network, disks, time |
|
gnome-terminal |
done |
|
gnome-themes |
not needed |
|
gnome-user-docs |
not needed |
|
gnome-utils |
gnome-screenshot, baobab, gnome-dictionary,gsearchtool,logview,gfloppy |
|
gnome-volume-manager |
||
gok |
||
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 |
||
tomboy |
||
totem |
||
vino |
done |
|
vte |
not needed |
|
yelp |
||
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 |
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 |
bonobo-browser |
|
libgnome |
not needed |
|
libgnomecanvas |
not needed |
|
libgnomeui |
not needed |
|
Admin |
||
pessulus |
||
sabayon |
||
Development Tools |
||
anjuta |
||
devhelp |
||
glade3 |
||
Other |
||
gossip |
||
gthumb |
done |
|
rhythmbox |
||
straw |
done |
|
xchat-gnome |
not needed |