HardyPreferedApplications

Differences between revisions 2 and 9 (spanning 7 versions)
Revision 2 as of 2007-10-17 14:51:27
Size: 1958
Editor: p54A646E9
Comment:
Revision 9 as of 2008-08-06 16:16:41
Size: 5239
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:

Selecting preferred applications is more difficult than it
should be. One should be able to say you prefer Abiword and
have all filetypes automatically changed. If I prefer F-Spot to
G-Thumb, all filetypes *and* the camera importer should be
changed.
Selecting preferred applications is more difficult than it should be.
It should be easy switch from Openoffice to Abiword and have all
filetypes automatically changed. If I prefer F-Spot to G-Thumb, all
filetypes *and* the camera importer should be changed. If I change my
prefered webbrowser, the panel launcher should change automatically.
Line 18: Line 17:
archive, selecting one installs it and marks it preferred. archive as well, selecting one installs it and marks it preferred.
Line 28: Line 27:
the default for something like a camera is a problem too, its under the for something like a camera is a problem too, its under
Line 34: Line 33:
 * Bob wants to change his default from gthumb to f-spot.  * Bob wants to change his default from gthumb to f-spot
 * Alice wants to use epiphany instead of firefox by default
Line 38: Line 38:
 * Any relevant existing fd.o specs?
 * Discuss with upstream people at FOSSCamp
 * Should we submit this as an fd.o spec? If so plan to write it
To make switching the default applications straightforward we need to
cover three areas: launchers in the gnome panel, default behavior on
url/mime-type, default behavior for removable devices.
Line 42: Line 42:
 * Merged Preferred Applications and Removable Media prefs
 * Should be accessible from file right-click
Line 45: Line 43:
 * Preferred application launchers; use them by default/
 * Manage alternatives too?
We need to implement:
 * Launchers should support "prefered application" in addition to the current "Command". This way the user can have a web-browser launcher that automatically changes if the preference changes.
 * The prefered apps dialog should list available applications as well as installed ones. It should install them if the user selects them (integrate add/remove and the mime-types, tags somehow)
 * The "Removable Drives/Media" capplet should be merged into prefered applications (to the extend that makes sense). The prefered applications should have a methods (desktop file?) to tell if/what it supports for removable media (e.g. ImportFromCamera commandline). It should be possible to use some combobox instead of the current (scary) commandline options.

It should be possible to set the default application via right-click
on a generic-app launcher.

The list of generic applications includes:
 * web browser
 * mail client
 * instant messanger
 * image viewer
 * text editor
 * music player
 * video player
 * terminal emulator

The prefered application is selected by looking into some gconf/dconf/file based configuration.

A possible implementation would use dbus activation to launch the
application (e.g. org.gnome.Epiphany). Each application would
implement a standard interface (eg. each browser provides a openURL()
call etc). Mime-type and removalable media handling would be
implemented the same way. A standard interface like "importFotos()"
would be provided by the applications. The problem with this approach
is that the applications would need to querried (started) to get
information like name and icon (the icon should change when the
default web-browser changes). There are some plan from upstream to go
into this dbus direction.

A alternative approach would be to change:
 * the default applications to store a desktop file name in e.g. /desktop/gnome/applications/browser instead of the current "exec" configuration
 * the panel to have a new launcher type that says "prefered application" and that uses the gconf information to figure out what launcher to display
 * the desktop file gets extended to provide information about things like "ImportFotos=gthumb-hal-import %s" etc so that switching can automatically switch the gnome-volume-manager specific commands.

A third option (suggested by vuntz) is to have "redirect" in desktop
files. either by a new desktop entry key or by simply using symbolic
links. We install a system-wide one, the prefered applications can
then change this to a a per-user one. The way the panel searches for
laucners is that it stores relative pathes and then searches
~/.gnome2/panel2.d/default/launchers and then
XDG_DATA_DIRS/applications. This would solve the panel issue with
relatively little additional code.

The method to be used will be discussed with upstream and when a
conlcusion is reached add a proper fd.o specification is written (or a
existing one is extended).

Once this spec is implemented, the default application launchers in
the ubuntu panel config should be switched over to this new method.
Line 50: Line 97:
TBD The Prefered Applications Capplet and the Removable Media capplet
should be merged as far as possible. Ideally when switching the photo
manager the photo import applications automatically switches too. This
means that a lot of the current entries can go.
Line 56: Line 106:
== Outstanding Issues ==

 * some change (like update-alternative) require super user rights
Line 62: Line 108:
Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected. Managing debian alternatives (update-alternatives and friends) was
discussed and discarded because it would require root and is not
portable.

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

Selecting preferred applications is more difficult than it should be. It should be easy switch from Openoffice to Abiword and have all filetypes automatically changed. If I prefer F-Spot to G-Thumb, all filetypes *and* the camera importer should be changed. If I change my prefered webbrowser, the panel launcher should change automatically.

List of possible applications should include those in the archive as well, selecting one installs it and marks it preferred.

Release Note

TBD

Rationale

Switching the default application is currently not very discoverable. It involes right-click, Properties/Open with. Switching the for something like a camera is a problem too, its under "removalble devices" and it requires the user to change the commandline arguments (with no go back to default setting).

Use Cases

  • Bob wants to change his default from gthumb to f-spot
  • Alice wants to use epiphany instead of firefox by default

Design

To make switching the default applications straightforward we need to cover three areas: launchers in the gnome panel, default behavior on url/mime-type, default behavior for removable devices.

We need to implement:

  • Launchers should support "prefered application" in addition to the current "Command". This way the user can have a web-browser launcher that automatically changes if the preference changes.
  • The prefered apps dialog should list available applications as well as installed ones. It should install them if the user selects them (integrate add/remove and the mime-types, tags somehow)
  • The "Removable Drives/Media" capplet should be merged into prefered applications (to the extend that makes sense). The prefered applications should have a methods (desktop file?) to tell if/what it supports for removable media (e.g. ImportFromCamera commandline). It should be possible to use some combobox instead of the current (scary) commandline options.

It should be possible to set the default application via right-click on a generic-app launcher.

The list of generic applications includes:

  • web browser
  • mail client
  • instant messanger
  • image viewer
  • text editor
  • music player
  • video player
  • terminal emulator

The prefered application is selected by looking into some gconf/dconf/file based configuration.

A possible implementation would use dbus activation to launch the application (e.g. org.gnome.Epiphany). Each application would implement a standard interface (eg. each browser provides a openURL() call etc). Mime-type and removalable media handling would be implemented the same way. A standard interface like "importFotos()" would be provided by the applications. The problem with this approach is that the applications would need to querried (started) to get information like name and icon (the icon should change when the default web-browser changes). There are some plan from upstream to go into this dbus direction.

A alternative approach would be to change:

  • the default applications to store a desktop file name in e.g. /desktop/gnome/applications/browser instead of the current "exec" configuration
  • the panel to have a new launcher type that says "prefered application" and that uses the gconf information to figure out what launcher to display
  • the desktop file gets extended to provide information about things like "ImportFotos=gthumb-hal-import %s" etc so that switching can automatically switch the gnome-volume-manager specific commands.

A third option (suggested by vuntz) is to have "redirect" in desktop files. either by a new desktop entry key or by simply using symbolic links. We install a system-wide one, the prefered applications can then change this to a a per-user one. The way the panel searches for laucners is that it stores relative pathes and then searches ~/.gnome2/panel2.d/default/launchers and then XDG_DATA_DIRS/applications. This would solve the panel issue with relatively little additional code.

The method to be used will be discussed with upstream and when a conlcusion is reached add a proper fd.o specification is written (or a existing one is extended).

Once this spec is implemented, the default application launchers in the ubuntu panel config should be switched over to this new method.

UI Changes

The Prefered Applications Capplet and the Removable Media capplet should be merged as far as possible. Ideally when switching the photo manager the photo import applications automatically switches too. This means that a lot of the current entries can go.

Test/Demo Plan

TBD

BoF agenda and discussion

Managing debian alternatives (update-alternatives and friends) was discussed and discarded because it would require root and is not portable.


CategorySpec

HardyPreferedApplications (last edited 2008-08-06 16:16:41 by localhost)