Integrate GtkFilePowerboxHook into Gtk

Status: in progress

Integrate GtkFilePowerboxHook into Gtk and produce a patch that can be submitted upstream.

The current GtkFilePowerboxHook uses an LD_PRELOADed library to replace the Gtk file chooser, but this does not work with applications such as Firefox which dlopen() Gtk to use the file chooser interface.

It would not be acceptable for Gtk to depend directly on Plash's C-level RPC interfaces, so instead there should be an intermediate library that Gtk can depend on. This would allow other RPC methods to be used for making powerbox requests, such as D-Bus. I have started such a library in scratch/powerbox-dbus.

Maybe the term "powerbox" is too generic and not descriptive enough. "Powerbox file chooser" is more specific, but "trusted path file chooser" might be a more obvious term for people who have not encountered the concept before. It is also more in line with the term "trusted path clipboard". So "libtpfilechooser" could be a better name than "libpowerbox".

This depends on StoryBuild1, which will create a libplash package (and a libplash-dev).

Questions

I should create a branch of Gtk to track these changes, but using what tool? Perhaps Git or Bazaar. It is possible to clone the whole history of Gtk using git-svn but the result is large. git-svn also lets you clone a partial history from SVN. This feature is planned for Bazaar (see HistoryHorizon) but it doesn't appear to be implemented yet.

It might be possible to keep the Gtk branch here: http://bzr-playground.gnome.org

Notes on getting started

Import recent Gtk history into git:

git-svn clone -r 19766 http://svn.gnome.org/svn/gtk+ -Ttrunk -ttags -bbranches

Using svn://svn.gnome.org/svn/gtk+ frequently gave "Malformed network data" errors so I switched to http.

Install dependencies in chroot: apt-get install gtk-doc-tools automake1.7 libtiff4-dev

Tasks

The Git repository is here: gtk-with-powerbox

Story20 (last edited 2008-07-18 15:58:24 by MarkSeaborn)