What is this?
=============

Tumbler is a D-Bus service for applications to request thumbnails for
various URI schemes and MIME types. It is an implementation of the 
thumbnail management D-Bus specification described on 

  https://wiki.gnome.org/DraftSpecs/ThumbnailerSpec

written in an object-oriented fashion using GLib and GObject. Its 
modular architecture makes it very flexible and useful in many
situations. It provides plugin interfaces for extending the URI schemes
and MIME types for which thumbnails can be generated as well as
for replacing the storage backend that is used to store the thumbnails
on disk. Tumbler's functionality can also be extended via specialized
thumbnailer services implemented in accordance to the thumbnail 
management D-Bus specification.


Required packages
=================

Tumbler depends on the following packages:

  * glib-2.0 >= 2.26.0
  * gio-2.0 >= 2.26.0
  * gthread-2.0 >= 2.26.0

Tumbler can optionally use the following packages:

  * gdk-pixbuf-2.0 >= 2.14.0 (for a pixbuf thumbnailer plugin) 
  * FreeType 2.x (for a font thumbnailer plugin)
  * libpng >= 1.2.0 (for the Thumbnail Managing Standard storage 
    backend, gdk-pixbuf-2.0 is also required for this)


Installation
============

The 'INSTALL' file contains generic installation instructions. 


Debugging Support
=================

Tumbler currently supports four different levels of debugging support, 
which can be setup using the configure flag `--enable-debug' (check the 
output of `configure --help'):

  `full'  Use this if you want to debug Tumbler to locate a bug. The
    build will most probably be noticably slower. This is also
    recommended for people that want to develop Tumbler stuff.

  `yes'  This is the default for git snapshot builds. It adds all
    kinds of checks to the code, and is therefore likely to run
    slower. Use this if you want to develop for Tumbler (e.g.
    writing Tumbler extensions and such).

  `minimum'  This is the default for release builds, and presents the
    recommended behaviour.

  `no'  Disables all sanity checks. Don't use this unless you know
    exactly what you do.


Standards compliance
====================

Tumbler supports and implements the following standards/specifications:

  * XDG Base Directory Specification
    https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html

  * Thumbnail Managing Standard
    https://specifications.freedesktop.org/thumbnail-spec/thumbnail-spec-latest.html

  * Thumbnail Management D-Bus Specification
    https://wiki.gnome.org/DraftSpecs/ThumbnailerSpec

  * File URI Specification
    https://www.freedesktop.org/wiki/Specifications/file-uri-spec/


How to report bugs?
===================

Bugs should be reported to the Xfce bug tracking system 
(https://bugzilla.xfce.org, product Tumbler). You will need to
create a bugzilla account for yourself first.

Please read the HACKING file for informaiton on where to send
changes or bugfixes for this package.
