The Tumbler package contains a D-Bus thumbnailing service based on the thumbnail management D-Bus specification. This is useful for generating thumbnail images of files.
Tumbler has since version 0.1.27 a configuration file to control the priority, locations and file sizes the plugin is used for: tumbler.rc.
To override the default configuration, located in one of the xdg directories on your system, you can copy the rc-file to your
$XDG_CONFIG_HOME defaults to
mkdir -p $XDG_CONFIG_HOME/tumbler cp /etc/xdg/tumbler/tumbler.rc $XDG_CONFIG_HOME/tumbler/
Each group in the configuration file is responsible for the settings of a particular thumbnailer plugin. The following keys can be used to adjust a plugin:
By the default the cover thumbnailer is disabled. The reason is that it sends information (movie title extracted from the filename) to online services to retrieve a poster. This information is normally harmless, but it is private, so therefore it's not enabled by default.
In order to use the cover thumbnailer you need to copy the tumbler.rc file to your home directory as described above and set the
Disabled key to
false. It is also advisable to set the Locations path to the directory where you store your movies.
[CoverThumbnailer] Disabled=false Priority=3 Locations=~/movies MaxFileSize=0 #APIKey=your-api-key-from-themoviedb.org
The movie thumbnailer supports two different movie APIs. By default, the The Open Movie Database API is used. You can also choose to use The Movie DB, but this site requires an API key which you have to request or uh… search.
The advantage of the latter is that their database has better support for internationalized movie names.
After creating the rc file, it is best to log off and on again to restart Thunar and Tumbler, because both applications cache the mime-type combinations.
As of version 0.2.0, the desktop thumbnailer functionality has been added back into tumbler. This functionality supports custom .thumbailer files placed in the /usr/share/thumbnailers folder.
For example, to create a custom thumbnailer for .dds files, do the following:
[Thumbnailer Entry] Version=1.0 Encoding=UTF-8 Type=X-Thumbnailer Name=dds Thumbnailer MimeType=image/x-dds; Exec=/usr/bin/convert -thumbnail %s %i %o
<?xml version="1.0" encoding="UTF-8"?> <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> <mime-type type="image/x-dds"> <comment>dds file</comment> <icon name="image"/> <glob-deleteall/> <glob pattern="*.dds"/> </mime-type> </mime-info>
…and run “update-mime-database ~/.local/share/mime”.
Another example are albums cover thumbnails for folders in a music collection. Starting with thunar 1.8.2 a custom thumbnailer can be added to e.g. add a file
cover.jpg into a folder and display its thumbnail instead of the default folder icon:
[Thumbnailer Entry] Version=1.0 Encoding=UTF-8 Type=X-Thumbnailer Name=Folder Thumbnailer MimeType=inode/directory; Exec=/usr/bin/folder-thumbnailer %s %i %o %u
In order to support different names for the picture-file and to remove the thumbnail if not needed any more (display the default folder icon) , a separate script is required:
#!/bin/bash convert -thumbnail "$1" "$2/folder.jpg" "$3" 1>/dev/null 2>&1 ||\ convert -thumbnail "$1" "$2/.folder.jpg" "$3" 1>/dev/null 2>&1 ||\ convert -thumbnail "$1" "$2/folder.png" "$3" 1>/dev/null 2>&1 ||\ convert -thumbnail "$1" "$2/cover.jpg" "$3" 1>/dev/null 2>&1 ||\ rm -f "$HOME/.cache/thumbnails/normal/$(echo -n "$4" | md5sum | cut -d " " -f1).png" ||\ rm -f "$HOME/.thumbnails/normal/$(echo -n "$4" | md5sum | cut -d " " -f1).png" ||\ rm -f "$HOME/.cache/thumbnails/large/$(echo -n "$4" | md5sum | cut -d " " -f1).png" ||\ rm -f "$HOME/.thumbnails/large/$(echo -n "$4" | md5sum | cut -d " " -f1).png" ||\ exit 1