The problem
There are a number of actions that can be performed by many different applications that a desktop user might want to choose a default application for.
Which program should be used to play CD's, which program should open webpages, etc.
Gnome currently has two programs to configure this: gnome-volume-properties and gnome-default-applications-properties
gnome-volume-properties
This program has no dropdown-menus, no idea about which programs are installed (?) and it is hard for all users to know if they should use %m or %d (and what they mean!)
gnome-default-applications-properties
This program tries to figure out which programs are installed from a hardcoded list and let's the user choose between those. It also allows the user to type a custom command.
Actions
List of actions from the two programs above
- Browse Web
- Read Email
- Play Multimedia
- Open Terminal
- Read Screen
- Play Audio CD
- Play DVD
- Manage Music Player Device
- Import Photos
- Edit Video
- Scan Image
The solution
Idea 1: new properties in .desktop files
Add something like
X-Action-?BrowseWeb=firefox %s
to the .desktop files.
This would then be used by the appropriate settings programs to present a list of available applications to the user to choose from.
Idea 2: depend on mime types
Some of these actions have corresponding mime types, and fake/new mime types could be added to the .desktop-files which the appropriate settings programs would use to present a list of available programs to the user.
However, this would not allow the programs to specify in which way they should be called.
Browse Web | text/html |