Re: Moving thumbnailing code



On Sun, 2016-06-26 at 13:45 +0200, Bastien Nocera wrote:
Hey,

gnome-desktop, the library, is a remnant of the old "libgnomeui" with
useful widgets that could not be in GTK+, and helper utilities that
might not be ready for merging in GLib.

Nowadays, gnome-desktop only contains utilities that are shared
between
desktop components (gnome-settings-daemon, gnome-control-center,
gnome-
shell and gnome-initial-setup) and code to create thumbnails.

The thumbnailing code has been something we've wanted to move to
another part of the stack for a while, as a dependency on API/ABI
unstable gnome-desktop really shouldn't be needed, but the problem is
always "where".

In https://bugzilla.gnome.org/show_bug.cgi?id=686895#c20
Allison mentions D-Bus, or a giomodule.

I've started shaving the yak slightly by moving images thumbnailing
to
an external process, the same used by every other thumbnailer:
    https://bugzilla.gnome.org/show_bug.cgi?id=768043
    https://bugzilla.gnome.org/show_bug.cgi?id=768062
    https://bugzilla.gnome.org/show_bug.cgi?id=768064

The code needs a bit more work, as I'd want to keep
the G_FILE_ATTRIBUTE_PREVIEW_ICON usage within the thumbnailer.
Should
be done before anything else.

Because I think that it would be nice for GLib/gio to contain both
the
code to generate and consume thumbnails, I'm leaning towards
implementing the API in gio, returning GObjects *, with the pixbuf
processing handled in a giomodule shipped in gdk-pixbuf.

Another option would be to avoid all the giomodules, and either
implement all the thumbnailing code in GTK+, or maybe the GdkPixbuf-
handling parts in GIO, and non-graphical parts in GLib.

Using a giomodule would allow us to eventually move away from gdk-
pixbuf (if we are ever going to do this).

Opinions?

Or we could just move it to gdk-pixbuf, which might be just high enough
in the stack to have gio and gdk-pixbuf support. Though that would mean
that thumbnailer and consumer would be in different places.


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