Preferred Applications applet roadmap



Hi,
first of all I have to apologize for not being able to go on with the
development of Preferred Applications applet during the 2.16 development
cycle. I really hope I will have some free time for GNOME 2.18 :)
I have thinked a bit at current preferred apps implementation. We have a
'generic' preferred app widget (well at this moment it is not yet a
widget) composed by an applications combobox, a custom command entry and
a run in terminal check button. The text entry and the check button are
linked to two gconf entries. This generic widget is used only by "Mail
Reader". In addition "Web Browser" has three radio buttons and several
gconf entries, "Terminal Emulator" an execute flag entry with its gconf
entry.
My idea is to write a generic preferred application real widget with a
combobox, a command entry and a run in terminal check button. The
command entry and the check button are linked to two gconf entries lists
(eventually of just one element). The possibility to add an extra option
entry (linked to its gconf entries list too). This should cover all our
needs. All this has a very small impact on user interface, since it will
be the same as it is now, without the web browser radio buttons (more on
that a few lines below).

  +--------------------------------------+
  | [=] GNOME Terminal                 |v|
  +--------------------------------------+
           +---------+
  Command: |gnome-ter| [X] Run in terminal
           +---------+\      \
           +---------+ \      '-----> gconf entries list
  Option   |-x       |  '-----------> gconf entries list
           +---------+\
                       '------------> gconf entries list

The widget is filled by a list of .desktop files (as suggested in some
comments from bug #171872[1]). We can extract all relevant .desktop
files using the "Categories" key (we have WebBrowser, Email and
TerminalEmulator categories defined by the specs[2] from
freedesktop.org). Custom commands can be used creating a .desktop file
on the fly, hidden from GNOME menu, in the appropriate $XDG_DATA_HOME
directory.
Plus, using .desktop files will let us easily set a default handler for
html/xhtml files as requested in bug #169670[3] for a long time.
We still have a problem with web broweser radio buttons. This can be
solved using a feature described in the specs, Desktop Actions, but not
yet implemented in GNOME, at least as far as I know (it will be present
in the upcoming XFCE 4.4/Thunar[4]). As we can see in annex A[5] of the
specs, a .desktop file can describe more ways to open a programm, other
than the main one, like open a site in a new tab or open a site in a new
window. So, the combo box will have an entry for every Desktop Action.
We just have to add support to Desktop Actions in GNOME (but it is not
strictly necessary, if we don't want to directly call .desktop files, as
suggested in bug #171872[1], so it can be done in future), modify
our .dekstop files (Epiphany, Galeon...), which is easy, and modify
external applications .desktop files (Firefox, Opera...), maybe not that
easy.
What do you think about this further change at the light of the future
applets merging? This should let us extend the applet easily (just
create a new widget instance, filling it with some .desktop files and a
couple of gconf entries lists). We will also be able to handle new apps
without any effort, given that they will provide an appropriate .desktop
file.

Ciao,

Luca


[1]. http://bugzilla.gnome.org/show_bug.cgi?id=171872
[2]. http://standards.freedesktop.org/desktop-entry-spec/latest/
[3]. http://bugzilla.gnome.org/show_bug.cgi?id=169670
[4]. http://xfce-diary.blogspot.com/2006/02/desktop-actions.html
[5]. http://standards.freedesktop.org/desktop-entry-spec/latest/apa.html




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]