Well, this is on todo forever now. So I thought I should give it a go. What is needed is basicly a way for the user to tell the system "I want to use Firefox as webbrowser" or "I want Thunderbird for mails", etc. This can already be done in Terminal and using the BROWSER env var for xfce-utils. Now, for Thunar (and other standard compliant file managers), we'll need a way to open a .desktop file of Type=Link. Therefore the user needs to specify the preferred browser/mailer. There're various other places in the user interface that require preferred browser/mailer/terminal.
Created attachment 414 Experimental version with basic helper framework Imported the Terminal helper framework into libexo with several additions/modifications. Why libexo? The stuff requires GDK/X, but libxfce4util shouldn't link to GDK/X. Adding this to libxfcegui4 on the other hand would probably (re)introduce the libxfcegui4 dependency for regular applications, which is not what we want either. Another option would be to have a dedicated library here (probably not very nice either, since that would increase the number of packages to compile -> gnome dependency hell). I'm open for suggestions.
Created attachment 415 MCS launcher
Created attachment 416 Internet tab
Created attachment 417 Utilities tab
Olivier, Jasper, Brian, any comments/suggestions/whatever about this one?
Screenies look good to me, though I don't have time to look at the code right now.
In addition there should be a FileManager category, which allows the user to select his/her preferred file manager. The selected file manager will also be responsible to open/execute regular files, this way other applications don't need to figure out the preferred applications themselves, but can simply invoke the file manager.
Created attachment 425 New patch for svn trunk
Created attachment 426 New icon file to be placed in icons/48x48/ after patching
Created attachment 427 Patched source tarball
New patch for svn trunk. I'll commit this during the week if nobody complains.
(In reply to comment #11) > New patch for svn trunk. I'll commit this during the week if nobody complains. Sorry for not being able to review the code. Thanks for taking the time and actually doing something. The screenshots look great and I'm sure the code is fine. We really could use something like this.
Looks good, though I'm not sure that running the file manager to execute a file is such a good idea. Wouldn't something like xfrun be more appropriate?
Most file managers do this already, and are able to also open a non-executable file with the default application (as determined from the mime database), which xfrun is not able to do (and should not be able to).
Committed with revision 19686. 2006-01-31 Benedikt Meurer <benny@xfce.org> * configure.in.in: Depend on GLib >= 2.6.4 and Gtk+ >= 2.6.0. * configure.in.in, Makefile.am, icons/: Add preferred applications icon. * configure.in.in, Makefile.am, exo-helper/, NEWS: Import exo-helper framework based on the helper framework found in Terminal. Bug #1368. * exo/exo-execute.{c,h}, exo/exo-url.{c,h}, exo/Makefile.am, exo/exo.h, exo/exo.symbols: Add exo-url and exo-execute modules, which provide a consistent frontend to the helper framework. * configure.in.in, Makefile.am, exo-open/: Add exo-open utility program, which simply calls appropriate functions in libexo. * docs/reference/: Update the API documentation. * po/POTFILES.in: Add new files. * po/libexo-0.3.pot, po/*.po: Merge new strings. * po/de.po: Update german translations.